簡體   English   中英

jQuery.get()回調中的數據為空

[英]Data empty in jQuery.get() callback

$.get("http://localhost/test.php", (function(data){
    alert(data);
}))

警報為空。 我是新手,我看不出我做錯了什么。 救命?

有一個工作file:// URL而不是 http:// 我聞到同樣的原產地政策

你是否在瀏覽器中通過file:// URL打開jQuery file://然后嘗試通過http://獲取? 因為您的協議和主機必須在您執行Ajax時匹配。

確保您在瀏覽器中以http://localhost/index.php不是 file://localhost/index.php 然后你應該能夠通過http://localhost/test.php獲取該文件。

也許你沒有告訴代碼運行? 嘗試將它放在$(document).ready()

$(function() {
  $.get("http://localhost/test.php", function(data){
    alert(data);
  });
});

http://api.jquery.com/ready/

如果您在瀏覽器中鍵入http://locahost/test.php ,您會收到任何數據嗎?

jquery是獲取url還是你沒有區別,結果應該是相同的。

test.php實際輸出了什么嗎?

這適合我。

什么是mime類型的響應?

醫生說

成功回調函數將傳遞返回的數據,該數據將是XML根元素,文本字符串,JavaScript文件或JSON對象,具體取決於響應的MIME類型。 它還傳遞了響應的文本狀態。

因此,根據回調數據參數的數據類型,警報可能會嘗試向您顯示一個不易轉換為字符串的對象。

回調函數應該是$ .get的第三個參數:

 $.get("http://localhost/test.php", {}, (function(data){
     alert(data);
 }))

好的,解決了它:當html文件在webserver目錄中並從localhost調用時工作,當html是file://時不起作用。 這很不方便,但很好。 (看來我直到2天才能將自己的答案標記為解決方案。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM