当时做交互的时候,由于我这台电脑环境配置一直不成功,后来想到运用ajax跨域请求来获得服务器端返回的数据。
当做到添加信息时,POST请求传递数据时,结果卡住了 。代码:
var str_data=JSON.parse("{"+$("#addform .form-control").map(function(){
return ("\""+$(this).attr("name")+'\":\"'+$(this).val()+"\"");
}).get().join(",")+"}");//JSON.parse把json字符串转换为json对象;
$.ajax({
url:接口地址,
type:"POST",
dataType : "jsonp",//jsonp跨域请求
data:str_data,
beforeSend:function(xhr){//加载loading,layer插件
var index = layer.load(1, {
shade: [0.5,'#000'] //0.5透明度的黑色背景
});
},
success: function(ret){
if(ret.RESULT=="SUCCESS"){
//alert(ret.MSG);
}
},
complete:function(xhr){//加载完成之后关闭loading
layer.closeAll('loading');
//询问框
layer.confirm('广告主添加成功!页面将跳转到列表页。', {
btn: ['确定'] //按钮
}, function(){
location.href = "adList.html";//location.href实现客户端页面的跳转
});
},
error: function(xhr,status,msg){
// alert("状态码"+status+"; "+msg);
layer.msg('玩命加载中..');
}
});
我多次检查,觉得很是正确,但一直请求不到数据。经过多次查证,当 dataType : "jsonp"跨域请求时,type只能为"GET"请求。