- 由於同源策略,我無法使用AJAX(XMLHTTPRequest)。
- 我無法訪問服務器內部,我也沒有 服務器代碼。
- 服務器只支持HTTPMethods:
POST, OPTIONS
- 我不能使用第三個服務器(例如,對於使用curl)
我可以用一個表單提交如何使用HTML表單而不是AJAX
<form method="post" action="some-web-server.com/something.JSON">
<input name="param" value="some JSON param" />
</form>
得到答案,但我被重定向到JSON.page以獲得答案。 有沒有可能在JS中獲得響應?類似的東西:
<form target="javascript: someFunctionUsingTheResponse(this.submit())" method="post" action="someServer/st.JSON" >
,並在HTML的頭
<script type="text/javascript">
function someFunctionUsingTheResponse(text){
alert(text);
}
</script>
更新: 我已經嘗試過創建一個<iframe name="dummy">
和形式的目標設置到這個虛擬的iframe <form target="dummy">
其作品相當好(在Chrome中,不在IE中工作),但我仍然無法使用JS訪問iFrame的數據。 (來源策略)
你有代碼的服務器端的一部分?您可以將ajax請求發送到您自己的服務器,並從那裏執行「curl」以從遠程JSON獲取答案,然後將該值返回到您的前端。 – martincarlin87
'jsonp'就是你需要的 –
'jsonp'很棒,但據我所知遠程服務器必須支持它,否則它將無法工作,即將所有內容都包含在回調參數中,因此它可能不適用於OP。 – martincarlin87