【发布时间】:2011-07-18 12:41:59
【问题描述】:
我是 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.");";
这就是我所做的......当然我错过了一些东西......有什么建议吗?
【问题讨论】:
-
欢迎XSS等垃圾
-
你的 url 传递给 creareScript() 后是什么样子的?
-
这取决于...例如它可能是“localhost/Generatore/…”
标签: php javascript ajax json callback