通过JQuery Ajax发布数据

时间:2016-09-01 03:47:33

标签: php jquery ajax

我在使用JQuery发布数据时面临问题。当我通过Chrome Extension Postman进行此操作时,它工作正常。

我的代码

var request = $.ajax({
    url:                'http://pankajserver.in/api/SaveRoleApi',
    type:               "POST",
    data:               {Role : "wsed"},
    async:              true,
    contentType:        "application/json; charset=utf-8",
    "X-Requested-With":   "XMLHttpRequest"
});

request.done(function(msg) {
    debugger;
});

request.fail(function(jqXHR, textStatus) {
    debugger;
});
  

网址:http://pankajserver.in/api/SaveRoleApi
  contentType:" application / json;字符集= UTF-8"
  X-Requested-With:" XMLHttpRequest"

使用Postman Chrome Extension发布数据时工作正常。

下面的截图

enter image description here

2 个答案:

答案 0 :(得分:1)

请试试这个

$.ajax({
    "async": true,
    "crossDomain": true,
    "url": "http://pankajserver.in/api/SaveRoleApi",
    "method": "POST",
    "headers": {
        "content-type": "application/x-www-form-urlencoded",
        "x-requested-with": "XMLHttpRequest",
    },
    "data": {
        "Role": "wsed"
    },
    success: function (msg) {
        debugger;
    },
    error: function (jqXHR, textStatus) {
        debugger;
    }
});

我在控制台中看到错误跨源请求被阻止:同源策略不允许在http://pankajserver.in/api/SaveRoleApi读取远程资源。 (原因:缺少CORS标题'Access-Control-Allow-Origin'。

为此请通过在您的根.htaccess

中设置此代码来允许交叉原点
<IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
</IfModule>

有关允许来源的更多信息,请参阅this link

答案 1 :(得分:0)

编写此标题:{'X-Requested-With':'XMLHttpRequest'}而不是“X-Requested-With”:“XMLHttpRequest”和dataType:“json”而不是contentType:“application / json; charset = UTF-8" ,

var request = $.ajax({
 url:                'http://pankajserver.in/api/SaveRoleApi',
 type:               "POST",
 data:               {Role : "wsed"},
 async:              true,
 dataType: "json",
 contentType:        "application/json; charset=utf-8",
 headers: {'X-Requested-With': 'XMLHttpRequest'}
});

request.done(function(msg) {
 debugger;
});

request.fail(function(jqXHR, textStatus) {
 debugger;
});