我有一小段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