2012-09-28 32 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打開瀏覽器實例並從瀏覽器獲取響應