ajax请求 为何老是 返回error
varurl="https://127.0.0.1:3000/idmp/validateUserInfo";varjsonData="";jsonData={"usern...
var url = "https://127.0.0.1:3000/idmp/validateUserInfo";
var jsonData = "";
jsonData = {"username":username,"authType":
"MA","Issuer":"sso",
"AssertionConsumerServiceURL":"asas",
"RelayState":"123321"};
$.ajax({
url:url,
type:"get",
data:jsonData,
beforeSend:function(){
//这里是开始执行方法,显示效果,效果自己写
},
complete:function(){
//方法执行完毕,效果自己可以关闭,或者隐藏效果
},
success:function(data){
//数据加载成功
if(data.ResultCode == 101106){
//到新页面
location.href=basePath+'index?mobileNumber='+username;
}
if(data.ResultCode == 101107){
// $("#maUsernameException").text("sim卡认证失败 ");
alert("sim卡认证失败");
}
if(data.ResultCode == 101108){
alert("sim卡认证超时,请重新认证 ");
}
if(data.ResultCode == 101118){
// $("#maUsernameException").text("您的手机暂不支持一键登录 ");
alert("您的手机暂不支持一键登录 ");
}
},
error:function(){
//数据加载失败
// $("#upUsernameException").text("请求失败,请稍后重试!");
alert("请求失败,请稍后重试! ");
}
});
这是我的请求方法,请求的是服务器上的一个接口 , 接口有响应,接口请求成功 服务器上面是有日志打印的没有报错,但是老是执行error 展开
var jsonData = "";
jsonData = {"username":username,"authType":
"MA","Issuer":"sso",
"AssertionConsumerServiceURL":"asas",
"RelayState":"123321"};
$.ajax({
url:url,
type:"get",
data:jsonData,
beforeSend:function(){
//这里是开始执行方法,显示效果,效果自己写
},
complete:function(){
//方法执行完毕,效果自己可以关闭,或者隐藏效果
},
success:function(data){
//数据加载成功
if(data.ResultCode == 101106){
//到新页面
location.href=basePath+'index?mobileNumber='+username;
}
if(data.ResultCode == 101107){
// $("#maUsernameException").text("sim卡认证失败 ");
alert("sim卡认证失败");
}
if(data.ResultCode == 101108){
alert("sim卡认证超时,请重新认证 ");
}
if(data.ResultCode == 101118){
// $("#maUsernameException").text("您的手机暂不支持一键登录 ");
alert("您的手机暂不支持一键登录 ");
}
},
error:function(){
//数据加载失败
// $("#upUsernameException").text("请求失败,请稍后重试!");
alert("请求失败,请稍后重试! ");
}
});
这是我的请求方法,请求的是服务器上的一个接口 , 接口有响应,接口请求成功 服务器上面是有日志打印的没有报错,但是老是执行error 展开
3个回答
展开全部
通过jquery的jsonp的方式.使用此方式,对服务器端有要求.
服务器端如下:
protected void Page_Load(object sender, EventArgs e)
{
string callback = Request.QueryString["jsoncallback"];
string result = callback + "({\"name\":\"zhangsan\",\"date\":\"2012-12-03\"})";
Response.Clear();
Response.Write(result);
Response.End();
}
客户端:
$.ajax({
async: false,
url: "http://192.168.0.5/Web/web1.aspx",
type: "GET",
dataType: 'jsonp',
//jsonp的值自定义,如果使用jsoncallback,那么服务器端,要返回一个jsoncallback的值对应的对象.
jsonp: 'jsoncallback',
//要传递的参数,没有传参时,也一定要写上
data: null,
timeout: 5000,
//返回Json类型
contentType: "application/json;utf-8",
//服务器段返回的对象包含name,data属性.
success: function (result) {
alert(result.date);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
实际上,在我们执行这段js时,js向服务器发出了这样一个请求:
http://192.168.0.5/Web/web1.aspx?jsoncallback=jsonp1354505244726&_=1354505244742
而服务器也相应的返回了如下对象:
jsonp1354506338864({"name":"zhangsan","date":"2012-12-03"})
此时就实现了跨域范文数据的要求.
参考:http://www.cnblogs.com/oneword/archive/2012/12/03/2799443.html
展开全部
是不是js跨域的问题?用url可以访问,但是用ajax调用会出错,很有可能是跨域了。
追问
确实是跨域的问题 则个我知道 但是有没有解决的方案呢? 急求解决方案
追答
使用jsonp的方法跨域调用获取返回值,可以百度,教程很详细。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在同域的服务器做一个简单的代理转发请求,即可避免跨域问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询