发布中的 Jquery 回调函数无法执行


Jquery callback function in post cannot execute

我正在尝试从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 窗口打开

后,您会收到警告,但在浏览器窗口打开期间,系统会停用同源政策。