gpt4 book ai didi

ajax - 使用 $.ajax 和 jsonp 调用 C# Web 服务

转载 作者:行者123 更新时间:2023-12-01 04:14:22 25 4
gpt4 key购买 nike

我需要将存储在文件中的数字列表放入网页中。我使用 Visual Studio C# 编写了一个 Web 服务来读取文件并响应内容。如果我将 Web 服务的 URL 放入浏览器中 http://MyComputer/wcfService3_deploy/RestServiceImpL.svc/json/123 ,它将显示一个 json 结果: {"JSONDataResult":"9781770494138"} (文件中只有一个数字)。

现在,我需要从我的页面调用该服务。不幸的是,Web 服务与我的网页位于不同的计算机上,因此我需要将 jsonp 与 ajax 结合使用。

当我尝试通过 JavaScript 调用 Web 服务时,它永远不会访问该服务。我向调用添加了一个错误参数,它报告“[object object] 错误”

function myFunction() {
var data = "datatext";
document.getElementById("response").innerHTML = "In MyFunction";
$.ajax({
type : "GET",
datatype : "jsonp",
url : "http://MyComputer/wcfService3_deploy/RestServiceImpL.svc/json/123?callback=jsonpCallback",
crossDomain : "true",
jsonpCallback : jsonpCallback(data),
success : jsonpCallback(data)

});
/*document.getElementById("response").innerHTML = "AfterAjax";*/
};



function jsonpCallback(data) {
document.getElementById("response").innerHTML =data;
};

</script>

<p id="response">Old Text</p>
<button type="button" onclick="myFunction()">Click Me!</button>

我知道我在这里有太多次 jsonpCallback ,并且将数据声明为变量是没有意义的。将回调放在 url 中与 jsonpCallback 参数与 success 参数中有何区别?如果我不声明数据,它不会让我使用它作为参数的参数。如何指定将包含返回结果的变量的名称?

感谢您的耐心等待

最佳答案

你有:

 jsonpCallback : jsonpCallback(data),
success : jsonpCallback(data)

为了扩展 David 的评论,您的回调设置表示在构建回调时,调用 jsonpCallback(data),并将“jsonpCallback”和“success”定义为该函数的结果。

如果您只是向它提供要调用的方法,它会将其作为函数应用于返回的对象。

它看起来像这样:

jsonpCallback : jsonpCallback,
success : jsonpCallback

关于ajax - 使用 $.ajax 和 jsonp 调用 C# Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16202043/

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