繁体   English   中英

为什么我的jQuery AJAX调用会在浏览器中打开响应?

[英]Why is my jQuery AJAX Call Opening the Response in the Browser?

我对PHP,Javascript,jQuery等是完全陌生的,所以我感到非常困惑。

我已经编写了一个回显JSON代码的php文件。 然后,我试图将此响应存储到客户端的Javascript变量中,如下所示:

var res;
$.getJSON("my_php_file", { some_param: "param" },
      function(data) {
         res = data;
      }
});

而是,Web浏览器仅在当前窗口中打开响应JSON,而不是将结果保存到res 为什么是这样?

谢谢

您是否正在处理链接上的onClick事件? 如果是这样,则您不会停止事件传播(默认行为)。

$('a#msome_link').click(function(e) {
    e.preventDefault();

    var res;
    $.getJSON("my_php_file", { some_param: "param" },
        function(data) {
            res = data;
        }
    });

    return(false); // this is not necessary any more in modern browsers
});
  1. 确保my_php_file返回Content-Type: application/json; charset=<your charset> Content-Type: application/json; charset=<your charset>标头
  2. 提供json回调:

    my_php_file?CB =?

  3. 确保my_php_file响应:

    printf(“%s(%s)”,$ _GET ['cb'],$ json_response);

  4. 考虑@Mihai Stancu的答案(实际上应该是数字0))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM