2017-05-30 16 views
-1

Ajaxリクエストは成功したが、応答はnullですが、私のように放火犯に結果応答を見ることができます:Ajaxリクエストの応答ヌル

<?xml version="1.0" encoding="UTF-8" ?><response><likes>13</likes></response> 

とコンソールにエラーが通りあります:

はTypeError :応答がnull

var XMLHttpObject = createXMLHttpRequest(); 
$Id = null; 

function process(id) { //makeAsynchornusRequest 
    if(XMLHttpObject.readyState == 0 || XMLHttpObject.readyState == 4) { 
     XMLHttpObject.onreadystatechange = responseHandler; 
     $Id = id; 
     XMLHttpObject.open("GET","like/" + id); 
     XMLHttpObject.send(null); 
    } 
} 

function responseHandler() { 
    if(XMLHttpObject.readyState == 4) { 
     if(XMLHttpObject.status == 200) { // 200 implies `ok` like 400 implies `page not found` 
      response = XMLHttpObject.responseXML; 
      xmlDocumentElement = response.documentElement; 
      output = document.getElementById("num_likes" + $Id); 
      output.innerHTML = xmlDocumentElement ; 
     } 
    } 
} 
+0

あなたは、AJAXを呼び出す方法を、あなたのコードを共有してくださいは、メソッドなど –

+0

あなたはajaxコードを投稿できますか? – Exprator

答えて

0

あなたはjQueryのタグを付けている - あなたのAjax呼び出しのためのjQueryのを使用してみてください:

$.ajax({ 
    url: '/Likes', 
    data: { id: id }, 
    success: function (response) { 
     if (response) { 
      console.log(response); 
     } 
    }, 
    error: function (xhr, s, sa) { 
     console.log(s, sa); 
    }, 
    complete: function() { 
      console.log('complete event'); 
    } 
}); 
0

あなたはonLoadイベントハンドラにこれを切り替えてみてくださいことができます。あなたのコードで

var xhr = new XMLHttpRequest(); 
xhr.open('GET', '/server', true); 

// If specified, responseType must be empty string or "document" 
xhr.responseType = 'document'; 

// overrideMimeType() can be used to force the response to be parsed as XML 
xhr.overrideMimeType('text/xml'); 

xhr.onload = function() { 
    if (xhr.readyState === xhr.DONE) { 
    if (xhr.status === 200) { 
     console.log(xhr.response); 
     console.log(xhr.responseXML); 
    } 
    } 
}; 

xhr.send(null); 

(注意あなたが少しresponseHandler()体を微調整する必要があるかもしれません:mozillaのドキュメントから

XMLHttpObject.open("GET","like/" + id); 
xhr.onload = responseHandler; 
XMLHttpObject.send(null); 
関連する問題