我試圖通過PHP代理連接到一個站點(這一個:https://raw.github.com/cowboy/php-simple-proxy/master/ba-simple-proxy.php),這是JavaScript函數做一些事的迴應:簡單的代理不能得到JSON響應
編輯:現在代碼看起來像這樣。仍然沒有雪茄。
function exista(word) {
alert(word);
var proxy = 'ba-simple-proxy.php?url=';
var uri = "http://api.wordreference.com/0.8/ff175/json/roen/" + word;
uri = encodeURIComponent(uri);
alert(proxy + uri);
var cuvantulexista = 1;
jQuery.ajax({
"async": false,
"url": proxy + uri,
"dataType": 'json',
"method": "GET",
"success": function (data) {
alert("HERE!");
if (data.Error || data.Response)
cuvantulexista = 0;
}
});
return cuvantulexista;
}
PHP文件位於同一文件夾中包含上述功能JS文件和在其中包含的HTML文件的公用文件夾。
問題是我什麼都沒有得到任何答覆,我真的不知道爲什麼。
我也包括像這樣在HTML的PHP:
<?php
include("js/ba-simple-proxy.php");
?>
我爲我極端noobiness抱歉,這是我第一次用PHP和跨域通信工作。謝謝。 :)
編輯:頁面不託管在域上,如果有幫助。
EDIT2:所以,我打開谷歌瀏覽器,而不 - 禁用網絡的安全性,我再次得到這個錯誤:
XMLHttpRequest cannot load file:///home/bogdan/Scrabble-Online/public/ba-simple-proxy.php?url=http%3A%2F%2Fapi.wordreference.com%2F0.8%2Fff175%2Fjson%2Froen%2FRHE. Origin null is not allowed by Access-Control-Allow-Origin.
然而,如果我開始它在本地主機上不顯示信息。它只是不連接。我現在非常困惑。
而且,是的,我需要響應是同步的。 :) – Casteurr
您可能在某處出現PHP錯誤,請嘗試打開完整的錯誤報告:'error_reporting(E_ALL | E_STRICT);'。還請檢查JavaScript控制檯 - 是否有任何錯誤消息? –
你嘗試過dataType:'jsonp'嗎?我最近在一個代理項目上工作,我用C#編寫代理服務器,並使用通常的HTML/CSS/JS(jQuery)編寫Web界面。我發現了一個TON的問題和具有跨域請求的怪癖。如果我沒有記錯,我認爲無法完成同步跨域請求。 – mittmemo