javascript 跨域是一个很常见的问题,其中 jsonp 是一个最常用的手段,但是 jsonp 只支持 get,不支持 post,所以如果想通过 jsonp 来 post 一些数据,就头大了。
此处通过在一个 iframe 中生成 form 表单的形式来实现 post,并通过 postMessage 来向调用者返回值。
第一步,我们先实现一个接受 jsonp 的后端代码,至于用什么语言实现,各位自已决定。
服务端设置支持跨域主要是Access-Control-Allow-Origin头参数,该参数用来指定允许哪个来源的域请求。服务端代码如下:
// 表示支持所有来源的域进行请求// 实际在 *** 作过程中可以设置为指定域
header('Access-Control-Allow-Origin:*')
$data = json_encode(array("id" => "1", "name" => "tom"))
echo $data
对应的js代码:
$.ajax({type: "POST",
url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/header.php",
dataType: "json",
success: function(data) {
console.log(data)
}
})
这个跟是不是跨域数据传输没有关系的.实际上你问的问题是javascript 的ajax异步显示loading提示.
你只需要在ajax请求的同时, 显示一个loading提示, 在ajax返回的回调函数里面, 关掉loading提示就可以了.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)