处理来自 JSONP 的回调



我正在尝试处理JSONP回调,我有以下JavaScript

var URL = "http://localhost:8000/returndata?s=testjsonp";
function alertResponse(data, status) {
    alert("data: " + data + ", status: " + status);
}
$.ajax({
    url: URL,
    dataType: 'jsonp',
    jsonpCallback: "alertResponse",
    complete: alertResponse
});

当对服务器做出响应时,它将返回以下 JSON:请注意双引号。

"alertResponse({'status':'OK'})"

我不确定如何使用我的 javascript 来处理这个问题。

有人可以在这里帮助我吗?

谢谢

问题

它返回被视为字符串并使用 JSON 编码的 JSONP 响应。

换句话说,来自服务器的答案是不正确的

溶液

而不是:

"alertResponse({'status':'OK'})"

它应该是:

alertResponse({'status':'OK'})

"为什么?"部分

JSONP的重点是使用<script>标签包含它,因此返回的响应必须是正确的JavaScript,调用一些应该处理检索数据的回调函数(通常由调用远程服务器期间的GET参数之一指定)。

最新更新