html之ajax

正常情况下,html中的ajax(也就是XMLHttpRequest对象)是不能跨域的。(特殊情况,此处不讨论,请网上Google)

---跨域:是url的协议或ip或端口,其中有一个不同,就是跨域。

比如:

1 http://10.1.50.45:8080与http://10.1.50.45:8081,

2 或者http://10.1.50.30:8080与http://10.1.50.45:8080,

3 或者https://10.1.50.30:8080与http://10.1.50.45:8080,

4 或者file:///D:/test1.html与http://10.1.50.45:8080。

上述四种情况,是都不会成功的,浏览器都会报错:(是chrome的报错信息)

1 【这是第1 2 3种情况】XMLHttpRequest cannot load http://localhost:3004/test. No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘http://localhost:3003‘ is therefore not allowed access.

2 【这是第四种情况:file:///】XMLHttpRequest cannot load http://localhost:3004/test. No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘null‘ is therefore not allowed access.

但是!

第4种情况,在node-webkit中,是可以成功的!!仅仅是node-webkit!估计是它做了处理。

代码如下:(请把该文件,放到其他域中测试,如http://localhost:3003/)

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <button onclick="get();">get</button>
        <script>
            function get(){                var xmlhttp=new XMLHttpRequest();
                var url="http://localhost:3004/test";
                xmlhttp.open("get",url,true);
                xmlhttp.onreadystatechange=function(){
                    if(xmlhttp.readystatus==4){
                        if(xmlhttp.status==200){

                        }
                    }
                };
                xmlhttp.send(null);
            }
        </script>
    </body>
</html>
时间: 2025-01-10 21:28:09

html之ajax的相关文章

ajax+分页

<!DOCTYPE html><html><head lang="zh-cn"><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"><meta http-equiv="X-UA-Compat

原生ajax

function ajax() { var ajaxData = { type: arguments[0].type || "GET", url: arguments[0].url || "", async: arguments[0].async || "true", data: arguments[0].data || null, dataType: arguments[0].dataType || "text", cont

通过jQuery Ajax使用FormData对象上传文件

转自:http://www.cnblogs.com/labnizejuly/p/5588444.html FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". <form id="uploadForm" enctype="multipart/form-data"> <input id="file" type="file"

ajax的几种格式

<script type="text/javascript"> $.ajax( { url:'地址', cache:'true/false',//请求是否接口是否缓存 type:'GET/POST'//请求方式 data: {"name":"才结束","age":"18"} 'name=蔡金锁&age=18&' ,//发送的数据 字符串 json dataType:'json',

AJAX学习

一.概述 ajax不是一种新的语言,它是异步的javascript和xml.传统的请求式网页在发送请求和页面响应是同步进行的,我们知道,B/S架构中在浏览器中跑的代码是javascript.HTML标签还有CSS样式文件等,我们的请求可以由javascript代码来写,服务器端的请求数据接受可以由xml来做(因为xml的优势就在于数据的传递,xml容易被解析),而ajax就是将传统的这一过程异步化,达到发出请求后不必刷新整个页面也可以得到响应,其实这一思想不仅可以用在B/S架构的程序设计中,在C

jQuery $.ajax传递数组的traditional参数传递必须true

出自:http://blog.csdn.net/ojackhao/article/details/24580437 起初我认为traditional:true,可有可无,但是后来不用traditional的时候,发现后台无法获取selectUsers的值,那么可以肯定的是traditional默认值是false.当提交的参数是数组( {selectUsers:[value,value,value]} ),如果是false的话,则提交时会是"selectUsers[]=value&sele

ajax

01.创建jsp页面 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+r

Js原生Ajax和Jquery的Ajax

一.Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡死 2.Ajax的运行原理 页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面1 功能. 二

JavaScript笔记——使用AJax

在使用过JQuery之后,再来看JavaScript的Ajax实现就会觉得很麻烦,不过,最近使用到了,就记录一下吧 在JavaScript中Ajax的实现可以分为四步: 第一步 得到XMLHttpRequest对象 得到XMLHttpRequest > 大多数浏览器都支持:var xmlHttp = new XMLHttpRequest(); > IE6.0:var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); > IE

ajax学习笔记3-jQuery实现ajax(大拇指向上)

jQuery实现ajax: jQuery本身提供了一个ajax方法,jQuery.ajax([settings]) type:类型,”POST”或”GET”(默认) url:发送请求的地址 data:是一个对象,连同请求发送到服务器的数据 dataType:预期服务器返回的数据类型,如果不指定,jQuery将自动根据HTTP包MIME信息来智能判断,一般采用json格式,可以设置为“json” success:是一个方法,请求成功后的回调函数.传入返回后的数据,以及包含成功代码的字符串. err