我想發佈到一個外部的php文件並得到結果。它是我在我的服務器上託管的一個php。我想通過ajax在我的localhost發佈靜態頁面,並在div中加載html。但我無法做到這一點。Jquery Post to external php
$.post("http://www.site.com/index.php", { font: "panchami", input: "hi" });
這裏有什麼不對嗎?
我想發佈到一個外部的php文件並得到結果。它是我在我的服務器上託管的一個php。我想通過ajax在我的localhost發佈靜態頁面,並在div中加載html。但我無法做到這一點。Jquery Post to external php
$.post("http://www.site.com/index.php", { font: "panchami", input: "hi" });
這裏有什麼不對嗎?
Javascript doesn't allow cross domain requests.
你可以做的是你的服務器reads the contents of the other site上的PHP文件:
<?php echo file_get_contents($_REQUEST['url']); ?>
然後做出請求你的文件,如下所示:
$.post("proxy.php?url=external_url", ...);
PHP代理方法是一個非常有吸引力的方法,但請注意,顯示的代碼可能被誤用爲通用代理,這是不好的。您需要構建一些安全措施,例如檢查「REFERER」或可能的目標URL的有限列表 – 2010-10-21 13:52:59
Same Origin Policy阻止對外部域的Ajax調用。
流行的解決方法包括
iframe
代替Get
取決於你的用例是什麼。
或者使用GET,例如:
這種請求是危險的,它被稱爲跨站點請求,並被大多數瀏覽器禁止。如果你看看你的錯誤控制檯,你應該看到一個消息。
如果你真的沒有其他選擇,那麼你可以考慮使用iframes,src屬性可以在當前域之外,你可以使用javascript解析信息。
希望幫助:)
1)沒有回調函數。 2)AJAX跨源(閱讀:張貼到另一臺服務器)仍然沒有廣泛支持 – Harmen 2010-10-21 13:49:11