我在使用PHP设置服务器端回调时遇到问题

时间:2011-07-18 12:41:59

标签: php javascript ajax json callback

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

如果我使用表单提交然后没有问题,php答案很好。 当我尝试使用AJAX而不是表单时...我遇到了CrossDomain调用问题!

所以我决定使用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.");";

这就是我所做的......当然我错过了什么......有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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

另外,您的代码很危险。

尝试添加

callback(); 

head.appendChild(script);