我有一小段JavaScript代碼將一個字符串傳遞給一個php文件,並等待返回的JSON在一個警告框中呈現。問題是由於交叉視線問題,我不認爲AJAX正在工作。從javascript進行GET調用無WITH ajax
這是我有什麼的JavaScript:
<p style="text-align: center;"><script type="text/javascript">
var http = new XMLHttpRequest();
var params = x;
http.onreadystatechange=function()
{
alert(http.responseText);
alert(http.responseXML);
if (http.readyState==4 && http.status==200)
{
}
}
http.open("GET","http://someserver.somesight.edu/scripts/auth.php?name=" + params,true);
http.send();
</script></p>
所以這是我的JavaScript,使一個PHP一個呼叫,然後回來一個JSON字符串。我想用這個字符串做更多的事情,但現在我只想讓SOMETHING回來。它不是,我想它是一個域問題(無論那被稱爲JavaScript不會允許你從不同的域做Ajax請求)。
這是我的PHP腳本:
<?php
include("config.php");
include("JSON.php");
$selectedusername = $_GET['name'];
$resultstring = connectToLDAP($selectedusername); //some function
$echo $resultstring; //the json string
?>
這似乎很簡單但果然在JavaScript中的alert框有空白和空。我認爲有一種非Ajax的方式來使PHP的電話找回任何字符串被回顯,因爲我仍然想處理更多...
那麼這裏有什麼嚴重錯誤嗎?我應該注意到,我不太瞭解腳本不允許在跨站點發布的級別。 JavaScript的託管在
my.somesight.edu
,該網站是想轉到是
someother.somesight.edu
我認爲這是主要的領域是好的,但由於其沒有工作顯然沒有(或我的代碼是剛剛分手)
提琴手結果:
它做一個HTTPS隧道從該網站的JavaScript是......這是websession 3至9。然後websession 10次命中有它的PHP腳本的網站:
[RAW VIEW CLICKING ON THAT WEB SESSION]
HTTP/1.1 200 OK
Date: Fri, 30 Mar 2012 21:07:39 GMT
Server: Apache/2.2.15 (Red Hat)
X-Powered-By: PHP/5.3.10
Content-Length: 53
Connection: close
Content-Type: text/html; charset=UTF-8
{"messagetype":"none","message":"time good","url":""}
所以這看起來不錯,這JSON是什麼,我想回去我的javascript..just什麼也沒有發生。
AJAX不會不使用JSONP工作跨域。 – 2012-03-30 20:38:30
在定義'http.onreadystatechange'函數之前執行'http.send(); - 切換順序 – hamczu 2012-03-30 20:41:53
切換順序仍然導致responseText和XML爲空。我將研究更多,如果我有權訪問更改腳本選項並使用JSONP – Codejoy 2012-03-30 21:05:21