我使用這個代碼張貼到PHP頁面:
var qreq = ".....myurl.php";
$.post(qreq, function(data){alert(data);});
在我的PHP文件
我有這樣的:
......
$prevtopic = $row["topic_id"];
echo $prevtopic;
警報出現了,但是是空白的。由於某些原因,即使我從PHP文件回顯數據也是空的。我也嘗試只是迴應「嗨」,但也沒有奏效。我究竟做錯了什麼?
謝謝。
我使用這個代碼張貼到PHP頁面:
var qreq = ".....myurl.php";
$.post(qreq, function(data){alert(data);});
在我的PHP文件
我有這樣的:
......
$prevtopic = $row["topic_id"];
echo $prevtopic;
警報出現了,但是是空白的。由於某些原因,即使我從PHP文件回顯數據也是空的。我也嘗試只是迴應「嗨」,但也沒有奏效。我究竟做錯了什麼?
謝謝。
你不能這樣跨域請求,什麼阻止你被稱爲same-origin policy,以防止惡意的跨域請求(即使你的沒有惡意,它仍然被阻止)。
對於這種情況,您可以使用JSONP,但不能獲得正常的html /文本內容。 Here's a short writeup with a better description on JSONP或here for a full example,但you need to return JSONP from PHP。
至於爲什麼?這是因爲http://evil.com/
在沒有進行一些檢查的情況下不能向http://mybank.com
發出請求,這就是爲什麼政策存在。
PHP文件在同一個域上嗎? – 2010-06-05 15:18:13
不,但那不應該,對吧?我在請求中使用完整的網址。 – vee 2010-06-05 15:20:49
猜想我們會看到更多的代碼告訴你!首先確保你使用了正確的url,可能你可以通過在瀏覽器中輸入它來確定它的位置。要查看有關在瀏覽器和服務器之間發送的數據的更多信息,請嘗試一些類似於螢火蟲(https://addons.mozilla.org/de/firefox/addon/1843/)的內容,它可以在它的控制檯中向您顯示被叫網址,正在發佈什麼數據等...... – 2010-06-05 15:22:14