我正在使用这样的jquery ajax调用:
$.ajax({
url: WEBSERVICE_URL,
type: "GET",
dataType: "application/json; charset=utf-8",
username: "admin", // Most SAP web services require credentials
password: "admin",
processData: false,
contentType: "application/json",
success: function() {
alert("success");
},
error: function() {
alert("ERROR");
},
});
仍然是电话不会转到网络服务。每次我收到ERROR警报。有人可以帮我这个吗?
答案 0 :(得分:30)
如果您正在进行跨域请求:
$.ajax({
url: "yoururl",
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
});
答案 1 :(得分:14)
尝试使用post作为方法类型,大多数Web服务都是安全的,需要使用post而不是获取传播
以帮助您调试错误和错误的响应文本。
$.ajax({
url: WEBSERVICE_URL,
type: "POST", //This is what you should chage
dataType: "application/json; charset=utf-8",
username: "admin", // Most SAP web services require credentials
password: "admin",
processData: false,
contentType: "application/json",
success: function () {
alert("success");
},
error: function (xhr, ajaxOptions, thrownError) { //Add these parameters to display the required response
alert(xhr.status);
alert(xhr.responseText);
},
});
答案 2 :(得分:0)
我的 2 美分。
我在这个问题上浪费了大量时间,但我通过将请求的方法从 GET 更改为 POST 来解决它。
奇怪的是,当通过 Postman
调用时,两种方法类型 (GET/POST) 都可以工作,但是当我将其更改为 POST 方法时,它只能成功命中我的 Web API 端点。
请注意,就我而言,我仅在使用 Windows 身份验证时传递 grant_type,因此在发布时我没有传递用户名或密码。