相关疑难解决方法(0)

从XMLHttpRequest清空responseText

我编写了一个运行良好的XMLHttpRequest,但返回一个空的responseText.

javascript如下:

  var anUrl = "http://api.xxx.com/rates/csv/rates.txt";
  var myRequest = new XMLHttpRequest();

  callAjax(anUrl);

  function callAjax(url) {
     myRequest.open("GET", url, true);
     myRequest.onreadystatechange = responseAjax;
                 myRequest.setRequestHeader("Cache-Control", "no-cache");
     myRequest.send(null);
  }

  function responseAjax() {
     if(myRequest.readyState == 4) {
        if(myRequest.status == 200) {
            result = myRequest.responseText;
            alert(result);
            alert("we made it");
        } else {
            alert( " An error has occurred: " + myRequest.statusText);
        }
     }
  }
Run Code Online (Sandbox Code Playgroud)

代码运行正常.我可以走过去,我得到readyState == 4和状态== 200但是responseText总是空白.

我收到错误调度的日志错误(在Safari调试中):getProperties,我似乎无法找到引用.

我在本地和远程服务器上运行Safari和Firefox中的代码.

放入浏览器时的URL将返回字符串并提供状态代码200.

我在Mac Widget中向相同的URL写了类似的代码,运行正常但是浏览器中的相同代码永远不会返回结果.

javascript ajax xmlhttprequest

28
推荐指数
3
解决办法
10万
查看次数

在FireFox 3.5中,XMLHTTPRequest.status返回0并且responseText为空

我正在尝试点击第三方网址以获取XML响应并显示重新发布到我的网页中.我在IE和Safari浏览器中得到状态为200且readystate为4的正确响应.但在FF3.5和Crome中,我将XMLHTTPRequest状态设置为0,而reponseText则为空字符串.我尝试了许多选项来编写正常的XMLHTTPRequest Ajax代码以及使用Prototype 1.5版本js文件来处理这个ajax请求,但是FF 3.5中的状态和reponseText仍然与0和空字符串相同.

任何帮助如何解决此问题或究竟是什么导致此问题将不胜感激.我还尝试在本地执行我的代码以及部署到webserver仍然在FF中的repsonse是相同的.

以下是我的代码段

<script type="text/javascript" src="prototype_ajax.js"></script>

<script type="text/javascript" language="javascript">

new Ajax.Request("I place my URL Here", {
    method: 'get',
    onSuccess : function(transport){

       var resultDoc = transport.responseText;
       var rootObj = loadXML(resultDoc);

    },
    onFailure : function(transport){
       alert(' On Failure '+transport)

    }
});

function loadXML(xmlFile) {
   var xmlDocElement =null;
   var xmlDoc = null;

   if (window.ActiveXObject) {
     try {
        // code for IE
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async=false;
        xmlDoc.loadXML(xmlFile);
     } catch (e) {
        alert("inside catch::"+e.message);
     }
   } else {
     // code for Mozilla, Firefox, …
Run Code Online (Sandbox Code Playgroud)

html javascript ajax xmlhttprequest

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

ajax ×2

javascript ×2

xmlhttprequest ×2

html ×1