我正在尝试从mysql检索数据。我只想做一个简单的测试。
js 代码
$(document).ready(function(){
$("button").click(function(){
$.post("http://anonymous.comze.com/default.php",
function(data){
alert(data);
});
});
});
<?
echo 'hello';
?>
为什么回调函数不起作用?
除非您的网站在 anonymous.comze.com 上运行,否则您的问题出在浏览器强制执行同源政策上。 具体来说,您不能对提供页面的域以外的域进行 AJAX 调用(.post() 正在执行)。 此问题有许多解决方法,包括将 $.ajax 函数与 JSONP 一起使用,或者不使用 AJAX 请求。 这里有一些想法:
规避同源策略的方法
但是,如果您只是在测试,那么使其正常工作的最简单方法可能是使用 Chrome 并禁用安全设置(当然,在进行任何实际浏览之前,请在没有此标志的情况下重新启动浏览器 - 另请注意,此标志被标记为不受支持,因此它可能会从未来版本的 Chrome 中消失)。 您必须使用类似的东西从命令行启动它(这是针对OSX终端的):
open Google' Chrome.app --args --disable-web-security
对于PC,您应该能够打开命令窗口并导航到程序文件下的Chrome目录,然后使用:
chrome.exe --args --disable-web-security
Chrome 窗口打开后,您会收到警告,但在浏览器窗口打开期间,系统会停用同源政策。