gpt4 book ai didi

javascript - 未捕获的语法错误 : Unexpected token u with Ajax post

转载 作者:行者123 更新时间:2023-12-02 15:02:00 25 4
gpt4 key购买 nike

我对如何解决/诊断 ajax/jquery 错误感到困惑。

这是我的功能:

   var LogIn = {
Email: $("#Name").val(),
MobileNo: $("#txtMobileNumber").val(),
PinCode: '',
Message: '',
Success:false
};
$.ajax({
type: "POST",
crossDomain: true,
dataType: 'jsonp',
contentType: "application/json",
url: "https://a different server domain/api/LoginRequest",
data: JSON.stringify(LogIn),
success: function (data) {
$("#divError").html(data);
},
error: function (error) {
jsonValue = jQuery.parseJSON(error.responseText);
$("#divError").html(jsonValue);
}
});

我收到此错误:

enter image description here

最佳答案

jQuery 不支持使用 POST 和 jsonp,原因很简单:当您注入(inject) <script> 时标签到 DOM 中(这就是 jQuery 在使用 jsonp 时所做的事情),浏览器将向远程端点发送 GET 请求,该端点已在 src 中提到。该标签的属性。

所以基本上你需要使用 GET 来代替:

type: "GET"

此外,由于数据作为查询字符串参数发送,因此您应该删除内容类型:

contentType: "application/json",

并且不要JSON.stringify数据。

这是完整的示例:

$.ajax({
type: "GET",
crossDomain: true,
dataType: 'jsonp',
url: "https://a different server domain/api/LoginRequest",
data: LogIn,
success: function (data) {
$("#divError").html(data);
},
error: function (error) {
jsonValue = jQuery.parseJSON(error.responseText);
$("#divError").html(jsonValue);
}
});

当然,只有当远程端点支持 JSONP 和 GET 动词时,这才有效。

我个人建议使用 CORS 而不是 JSONP,因为它会给你更多的选择。在这种情况下,您将能够使用 POST。请参阅以下 Material ,因为您似乎正在服务器上使用 ASP.NET Web API 并尝试进行跨域 AJAX 调用:http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

关于javascript - 未捕获的语法错误 : Unexpected token u with Ajax post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35381983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com