gpt4 book ai didi

通过 .NET 的 jQuery AJAX POST - JSONP 返回

转载 作者:行者123 更新时间:2023-12-01 06:03:11 25 4
gpt4 key购买 nike

我需要向另一个域上的 .NET Web 服务发送 ajax 请求。我可以将服务器返回的任何数据设置为jsonp并使用js读取数据吗?我在发布到 .NET 服务时遇到了这个解决方案:

http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

$.ajax({
type: "POST",
url: "PageName.aspx/MethodName",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Do something interesting here.
}
});

我之前已经使用过此方法并取得了很大成功,但是我的调用始终在同一域内。现在我想跨域发布(这可能吗?),返回的数据是否可以在jsonp中以避免任何跨域问题。

通常,当我向 API 发出跨域 GET 请求时,我通常在 ajax 调用中使用 "script" 作为我的数据类型,并使用外部的回调函数解析数据。成功ajax函数。

是否可以在上面的调用中使用“script”作为数据类型,或者我将如何进行此调用并仍然将返回的数据视为JSONP以在回调函数内部读取?

最佳答案

使用 jsonp 时,您需要提供回调名称作为 url 查询字符串参数。这是返回数据时客户端将调用的函数的名称。在服务器端你需要做这样的事情:

if request.GET.has_key('callback'):
callbackName=request.GET['callback']
str="%s(%s)"%(callbackName,str)
return HttpResponse(str, mimetype='application/javascript')

有关更多信息,请阅读 http://api.jquery.com/jQuery.ajax/然后在页面中搜索jsonp。

p.s.:显然我的代码片段是用Python编写的,但原理是一样的。

关于通过 .NET 的 jQuery AJAX POST - JSONP 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9167075/

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