从jquery调用post rest时出错
我正在尝试使用POST请求对我的用户进行身份验证。但是当我通过jQuery调用rest调用时,它将进入错误状态并返回错误代码0 当我使用postman或rest客户机调用同一个rest调用时,它会按预期提供输出 我的jQuery在下面从jquery调用post rest时出错,jquery,json,rest,Jquery,Json,Rest,我正在尝试使用POST请求对我的用户进行身份验证。但是当我通过jQuery调用rest调用时,它将进入错误状态并返回错误代码0 当我使用postman或rest客户机调用同一个rest调用时,它会按预期提供输出 我的jQuery在下面 $(document).ready(function() { alert('started'); var dataType="application/json"; var data = {userName:"admin",password:"admin"}; $.
$(document).ready(function() {
alert('started');
var dataType="application/json";
var data = {userName:"admin",password:"admin"};
$.ajax({
type: "POST",
url: "https://appserver.dev.cloud.wso2.com/t/madusanka/webapps/projecttracker-default-SNAPSHOT/services/projecttracker/userservice/users/authenticate",
data: data,
async : false,
success: function(){alert("success")},
error: function(){alert("error")},
complete: function(){alert("complete")},
statusCode: {
0: function() { alert( "0 : What happened here" )},
404: function() { alert( "404 : Page not found" )},
500: function() { alert( "500 : Internal server error" )}
},
dataType: dataType
}).then(function(data) {
//handle the user here
});
});
我不知道为什么会返回http错误0。
我用userName=admin&password=admin调用了,得到了以下输出
{
Users: {
User: {
userName: "admin"
userRoleId: 13268
}
}
}
有什么想法吗?提前感谢 - 确保位于
appserver.dev.cloud.wso2.com中的rest服务服务器中允许您的域源
- 全局设置
jQuery.support.cors=true代码>
- 将ajax之前的数据类型jsvar更改为
var dataType=“json”代码>
- 如果需要使用
ajax属性设置headersheaders
$(document).ready(function () {
$.support.cors = true;
var dataObject = { userName: "admin", password: "admin" };
$.ajax({
type: "POST",
url: "https://appserver.dev.cloud.wso2.com/t/madusanka/webapps/projecttracker-default-SNAPSHOT/services/projecttracker/userservice/users/authenticate",
data: dataObject,
async: false,
success: function () { alert("success") },
error: function () { alert("error") },
complete: function () { alert("complete") },
statusCode: {
0: function () { alert("0 : What happened here") },
404: function () { alert("404 : Page not found") },
500: function () { alert("500 : Internal server error") }
},
dataType: "json"
, headers: { SecurityToken: securityTokenValue } // or set any header info here.
}).then(function (data) {
//handle other logic
});
});
同时查看其他类似帖子:您正试图发送跨域ajax请求,而目标资源不支持CORS,这就是问题所在。您的浏览器控制台应显示类似
XMLHttpRequest无法加载的错误https://appserver.dev.cloud.wso2.com/t/madusanka/webapps/projecttracker-default-SNAPSHOT/services/projecttracker/userservice/users/authenticate. 请求的资源上不存在“Access Control Allow Origin”标头。起源'http://fiddle.jshell.net因此,不允许访问代码>