gpt4 book ai didi

javascript - 从 Javascript 调用 JSONP Ajax 回调

转载 作者:行者123 更新时间:2023-12-04 19:42:36 25 4
gpt4 key购买 nike

我正在尝试发送一个 JSONP Ajax 请求(从 client.htm 到 proxy.htm),该请求由代理页面接收,该代理页面创建另一个不同的 Ajax JSONP 请求到服务(proxy.htm ---> service.php) .目前代理页面从服务接收 JSON 格式的对象,但我坚持将对象返回到第一个初始 Ajax 请求。以下是我尝试运行的示例代码。这可以用 Javascript 实现吗?如果是这样,我如何将对象返回到 客户端回调功能。

客户端.htm

// CLIENT ---> PROXY
$(document).ready(function () {
$.ajax({
type: 'GET',
url: 'http://localhost/jsonp_proxy/listener.htm',
dataType: 'jsonp',
jsonpCallback: "clientCallback",
success: function (theData) {
alert("Success");
},
error: function (xhr, ajaxOptions, thrownError) {
alert("Error");
}
});
});
window.clientCallback = function(results) {
alert(results.uid);
}

代理.htm
      // PROXY ---> SERVER
$(document).ready(function () {
$.ajax({
type: 'GET',
url: 'http://localhost/jsonp_server/service.php',
dataType: 'jsonp',
jsonpCallback: "proxyCallback",
success: function (theData) {
// alert("Success");
},
error: function (xhr, ajaxOptions, thrownError) {
// alert("Error");
}
});
});
window.proxyCallback = function(resultData) {
// HOW TO CALL CLIENT CALLBACK FUNCTION
}

服务.php
<?php
echo "proxyCallback("."{'uid': 123, 'username': 'jdirt', 'name': 'Joe Dirt'}".");";
?>

最佳答案

eval 的少数半有效用途之一:

success: function (theData) {
eval("(" + theData + ")");
//alert("Success");

提醒一下, JSONP是一种黑客和安全风险。你给予了第三者很大的信任和控制权。

关于javascript - 从 Javascript 调用 JSONP Ajax 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12499601/

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