从jquery调用post rest时出错

从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"}; $.

我正在尝试使用POST请求对我的用户进行身份验证。但是当我通过jQuery调用rest调用时,它将进入错误状态并返回错误代码0

当我使用postman或rest客户机调用同一个rest调用时,它会按预期提供输出

我的jQuery在下面

$(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”
  • 如果需要使用
    headers
    ajax属性设置headers
现在,您的脚本如下所示:

    $(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因此,不允许访问