我有一个问题,建立一个服务器端回调与PHP


I have a problem with setting-up a server side callback with PHP

我是AJAX和PHP的新手,我制作了一个HTML文件,我将信息发送到PHP文件。

如果我使用一个表单提交然后没有问题,php的答案是好的。当我尝试使用AJAX而不是表单…我被跨域呼叫问题卡住了!

所以我决定使用JSON回调函数和动态脚本标签解决方案。我以前使用过几次,但只是在客户端。现在我需要设置服务器端,以便PHP文件可以响应回调函数。下面是解释的代码:

Html/Javascript文件:

function setUrl(numeroAPI)
{
    var url = "http://localhost/Generatore/generatore_codice.php?numeroAPI=" + numeroAPI;       
    for(var i=1;i<=numeroAPI;i++)
    {
        url = url + "&tipoChiamataAPI" + i + "=" + document.getElementById("tipoChiamataAPI" + i).value;
    }
    url = url + "&callback=callback";
    creareScript(url);
}
function creareScript(url)
{
    var head= document.getElementsByTagName('head')[0];
    var script= document.createElement('script');
    script.type= 'text/javascript';
    script.src= url;
    head.appendChild(script);
}
function callback(obj)
{
    alert("lala");
}

正是这段代码在其他程序中工作了很多时间....但现在警告不起作用,我已经读到我的PHP文件应该是这样的:

$json = json_encode($data);
echo $_GET['callback'] . "(".$json.");";

所以这就是我做的…当然,我遗漏了一些东西……任何建议吗?

你甚至没有在任何地方调用callback()函数,所以它不能工作。

另外,你的代码很危险。

尝试添加

callback(); 

head.appendChild(script);