我在使用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发布数据时工作正常。
下面的截图答案 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;
});