我正在使用此代码发布到 php 页面:
var qreq = ".....myurl.php";
$.post(qreq, function(data){alert(data);});
在我的 PHP 文件中我有这个:
......
$prevtopic = $row["topic_id"];
echo $prevtopic;
警报出现,但为空白。出于某种原因,即使我从 PHP 文件中回显数据也是空的。我也试过只是回应“嗨”,但这也没有用。我做错了什么?
谢谢。
最佳答案
你不能像这样发出跨域请求,阻止你的是same-origin policy , 以防止恶意跨域请求(即使您的请求没有恶意,它仍然会被阻止)。
您可以使用 JSONP对于这种情况,但无法获得正常的 html/文本内容。 Here's a short writeup with a better description on JSONP , 或 here for a full example但是you need to return JSONP from PHP .
至于为什么? 这是因为 http://evil.com/
不应该向 http://mybank 发出请求。 com
没有进行一些检查,这就是该策略存在的原因。
关于php - jquery $.post 从 php 返回的数据为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2980894/