2012-09-28 29 views
0

我完全不熟悉PHP,Javascript,jQuery等,所以我觉得这很混乱。为什么我的jQuery AJAX调用在浏览器中打开响应?

我写了一个回应JSON代码的php文件。然后我试图存储这个响应到一个Javascript变量在客户端上,像这样:

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

相反,Web浏览器只是打开当前窗口的响应JSON,而不是结果保存到res。为什么是这样?

谢谢

+0

在您提供将给出结果的代码没有。 – Quentin

+0

你是如何调用这段代码的? –

+0

你可以在这里添加PHP代码吗? – Vishal

回答

5

您是否正在处理链接上的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 
}); 
0
  1. 确保my_php_file回报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斯坦的答案(应该是数字0,实际上:))

+0

顺便说一句,Nemoden第三点是JSON ** P **行为。它仅在浏览器不识别Content-Type:application/json时使用,并且您有义务返回Content-Type:text/JavaScript,这意味着返回的文本文件将由浏览器“执行”,就像一个'

  • 11. 我怎么能打开浏览器onPostExecute
  • 12. 为什么Visual Studio 2008中的Edit.GoToDefinition打开对象浏览器?
  • 13. Jquery AJAX Json响应数据未在浏览器中显示
  • 14. 在我的应用程序中打开浏览器
  • 15. jQuery的Ajax调用不工作在IE浏览器,JSON响应没有通过
  • 16. 为什么ajax调用会打破jQuery?
  • 17. 浏览器打开JSON响应作为文件
  • 18. 弹出力量浏览器打开Ajax
  • 19. 在浏览器中打开链接或打开应用程序
  • 20. 仅打开浏览器的应用程序浏览器
  • 21. 为什么SharePoint pdf不再从浏览器中打开?
  • 22. 为什么我无法在Web浏览器中打开MS Office文件?
  • 23. 为什么我无法在jQuery中解析Ajax html GET响应?
  • 24. 为什么我的网站不响应我的浏览器窗口的大小?
  • 25. 从$ ajax打开浏览器实例
  • 26. 我可以在浏览器中看到一个API响应,但不能用Ajax,为什么?
  • 27. ajax调用在Chrome浏览器,Firefox但不在IE浏览器?
  • 28. AJAX崩溃浏览器(200MB响应)
  • 29. 为什么我的Ajax响应很慢?
  • 30. 从BOT打开浏览器实例并从浏览器获取响应