小编典典

jQuery Ajax在不同的端口上

ajax

我的php文件位于端口80(默认端口),而我的ajax调用位于端口8080上。

我在端口8080上的index.html

$(document).ready(function(){
$.get("userCheck.php", 
        {"username" : "lazy", "favcolor" : "FFFFFF" },          
        function(data){ alert("Data Loaded: " + data);
});

我的PHP

$user = $_GET["username"];
if($user == "lazy")
    echo "SUCESS";
else
    echo "FAIL";

我有点google,JSONP大多出来了。知道如何将其转换为JSONP吗?

有什么办法可以使其工作?


阅读 606

收藏
2020-07-26

共1个答案

小编典典

实施JSONP服务非常简单,您只需要一个 回调 GET参数,最后,打印一个包含与以JSON数据作为参数的函数调用等效的字符串:

$callback = $_GET["callback"];
$user = $_GET["username"];

if($user == "lazy") {
  $response = array("message" => "SUCESS");
} else {
  $response = array("message" => "FAIL");
}

echo $callback . "(". json_encode($response) . ");";

然后,您可以将其与jQuery一起使用$.getJSON

$.getJSON("jsonpTest.php?callback=?", { username: "lazy"}, function(json){
  alert("JSON Data: " + json.message); // SUCCESS
});
2020-07-26