gpt4 book ai didi

jquery - 使用 $.ajax 和 jQuery 1.7.2 进行跨域请求

转载 作者:行者123 更新时间:2023-12-01 06:00:37 24 4
gpt4 key购买 nike

我一直都是用 jsonp 这样做:

$.ajax({
url : 'http://domain.local/api/3/authentication/get-token',
type : 'POST',
dataType : 'jsonp',
data : 'username=user&secret=pass',
success : function(data) {
console.log(data);
}
});

它与旧的 jQuery 版本(1.3、1.4)完美配合,但似乎不适用于最新版本(自 1.5.x 起,它发出奇怪的 GET 或 OPTION 请求)

知道如何解决这个问题吗?

谢谢!

最佳答案

新版本的 jQuery 一直在为我工作。我认为问题是您正在使用 POST 请求,而 JSONP 不允许这样做:

You can't POST using JSONP...it simply doesn't work that way, it creates a element to fetch data...which has to be a GET request. There's not much you can do besides posting to your own domain as a proxy which posts to the other...but user's not going to be able to do this directly and see a response though.

来自How to use type: "POST" in jsonp ajax call

您的调用应如下所示:

$.ajax({
url : 'http://domain.local/api/3/authentication/get-token',
type : 'GET',
dataType : 'jsonp',
data : 'username=user&secret=pass',
success : function(data) {
console.log(data);
}
});
<小时/>

如果上述方法不起作用,请尝试查看使用 Firebug 发送的参数。 jQuery 应发送一个“回调”参数,其值类似于“jQuery1710013558088336139917_1344030860953”。

同时查看服务器的响应。服务器应该返回如下所示的数据:

jQuery1710013558088336139917_1344030860953({"data":"goes here"})

关于jquery - 使用 $.ajax 和 jQuery 1.7.2 进行跨域请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803613/

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