Javascript 跨域ajax查询

Javascript 跨域ajax查询,javascript,ajax,Javascript,Ajax,我有一些javascript代码发送ajax请求,但没有得到响应。我该怎么解决这个问题呢?谢谢 我试图获取的链接是: 我的代码: <!DOCTYPE html> <html> <head> <script type="text/javascript"> function sendRequest() { alert("Sending request"); var xmlHttp = new XMLHt

我有一些javascript代码发送ajax请求,但没有得到响应。我该怎么解决这个问题呢?谢谢

我试图获取的链接是:

我的代码:

<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript">    
  function sendRequest() {    
    alert("Sending request");    
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET","http://research.engineering.wustl.edu/~todd/cse330/demo/lecture6/helloClass.txt",true);
    xmlHttp.addEventListener("load",ajaxCallback,false);
    xmlHttp.send(null);
  }

  function ajaxCallback(event) {
    alert("Here is the response " + event.target.responseText );
    document.getElementById("demo").innerHTML= event.target.responseText;
  }    
  </script>
  </head>
  <body>
    <h1>My Ajax  Web Page</h1>
    <p id="demo">I will display something here</p>    
    <form>
      <input name="submit" type=button value="Send Ajax Request" onClick="sendRequest()">
    </form>    
  </body>
</html> 

函数sendRequest(){
警报(“发送请求”);
var xmlHttp=new XMLHttpRequest();
open(“GET”http://research.engineering.wustl.edu/~todd/cse330/demo/讲师6/helloClass.txt”,真);
addEventListener(“加载”,ajaxCallback,false);
xmlHttp.send(空);
}
函数ajaxCallback(事件){
警报(“这是响应”+event.target.responseText);
document.getElementById(“demo”).innerHTML=event.target.responseText;
}    
我的Ajax网页

我将在这里显示一些内容


谢谢你的回答。我只是按照你的建议尝试了JSONP,我使用

<script type="text/javascript" src="http://research.engineering.wustl.edu/~todd/cse330/demo/lecture6/helloClass.txt?jsonp=parseResponse"> 

对于我的新脚本标记,但仍然不起作用。有进一步的暗示吗?谢谢


谢谢大家的回答!但我对这项技术还不熟悉,所以还是有点困惑。你能给我带些详细的代码来学习吗。我对代理侦听方法非常感兴趣。

我假设您不是在
http://research.engineering.wustl.edu/
。如果是这样的话,那个么您刚刚对进行了一次修改,它不允许跨域请求


现在有很多方法可以实现这种跨域通信,一些常用的方法是和。您还可以将您的服务器(您的页面所在的域)设置为代理服务器,为您获取远程页面,因为服务器代码不绑定到SOP。

对于开始:您无法进行跨浏览器ajax请求

JSON可以工作,但需要对javascript重新编码一点

解决方案:通过服务器中继请求。在服务器上创建侦听请求的代理,如: “/Relay?url=” 并以该url中的任何答案进行响应。
服务器上的编码很简单,需要在javascript中进行最少的重新设计。如果您对如何编写服务器代码有任何疑问,请提问。

您不能用JavaScript进行跨域请求。@Austinbrunkhost事实上,您可以。您可以,但不能像他尝试的那样开箱即用。谢谢您的回答。我只是按照您的建议尝试了JSONP,我使用它作为我的新脚本标记,但仍然不起作用。有进一步的暗示吗?谢谢@user2514364 JSONp由几个部分组成。您需要创建指向您的数据的脚本文件的加载器函数,执行数据的接收器函数,以及基本上是数据包装在接收器函数调用中的远程文件。StackOverflow充满了这些问题。这只是一个搜索的问题。谢谢大家的回答!但我对这项技术还不熟悉,所以还是有点困惑。你能给我带些详细的代码来学习吗。我对代理侦听方法非常感兴趣。创建此类代理的细节取决于您使用的服务器技术,如.NET、PHP、JAVA。代理应该做的是1:将url作为参数。2:称之为url。3:阅读回答。4:返回响应。这样,调用代理而不是原始url将呈现相同的结果,只是您没有执行跨浏览器请求