gpt4 book ai didi

asp.net - jsonp回调函数没有被调用

转载 作者:行者123 更新时间:2023-12-01 04:53:55 27 4
gpt4 key购买 nike

我正在使用 dataType 作为 jsonp 进行跨域 AJAX 调用。我已经在 URL 中设置了 Jsoncallback 查询字符串参数。但是,回调函数根本没有被调用,而是页面被重定向到自身。

AJAX 调用基本上是点击一个 CMS 服务,当我直接在浏览器中测试它时,该服务返回以下响应:

myfunction({'state':'MEL', 'plan':'true' })

这里,“myfunction”是我作为 URL 中 Jsoncallback 参数值传递的字符串

这是我的 AJAX 调用

$.ajax({
url:"http://website.hostname.com/validatepostcode.dot?postcode="+encodeURIComponent(thepostcode)+ "&Jsoncallback=parseResponse",
dataType: "jsonp",
async: false,
crossDomain:true
});


function parseResponse(data)
{
alert(data);
}

我在 AJAX 调用中是否缺少任何参数?或者服务端可能有问题?

最佳答案

$.ajax jQuery 函数具有特定的配置选项,用于提供代码中似乎缺少的回调函数的名称。

通过设置dataType: 'jsonp' jQuery

Adds an extra "?callback=?" to the end of your URL to specify the callback

这会导致问题,因为您还在 url 值中添加了回调函数。

要覆盖此设置,您可以添加 jsonp 选项:

Override the callback function name in a jsonp request. This value will be used instead of 'callback' in the 'callback=?' part of the query string in the url.

您还可以将 data 指定为单独的选项(请参阅 Sending Data to the server ),我也在下面添加了该选项。

以下代码应正确使用 parseResponse() 作为回调函数。

$.ajax({
url: 'http://website.hostname.com/validatepostcode.dot',
type: 'get',
data: {postcode: encodeURIComponent(thepostcode)},
dataType: 'jsonp',
jsonp: 'parseResponse'
});

关于asp.net - jsonp回调函数没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16319246/

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