2017-12-25 41 views
0

XMLHttpRequestが動作する理由を知ることができず、フェッチまたは公理の使用が機能しません。終点は一定です。ここで を比較するためのコードである のXMLHttpRequestが実際にテキストを返します...、 はモードの削除何フェッチとXMLHttpRequestの信頼性

var r = new XMLHttpRequest() 
    r.open('GET', 'http://localhost:1337/ticks', true) 
    r.onreadystatechange = function() { 
     if (r.readyState !== 4 || r.status !== 200) { 
      return 
     } 
    } 
    r.send() 

    fetch('http://localhost:1337/ticks', { 
      method: 'GET', 
      mode: 'no-cors' 
      }).then(function (response) { 
       return response.text() 
      }).then(function (text) { 
       console.log(text) 
    }).catch(function (error) { 
    }) 
+0

コードが壊れています。フェッチコールバックで 'console.log(response)'を試しましたか? –

+0

私はブレークポイントを付けましたが、フェッチのresponse.okはfalseなので、呼び出しは失敗しますが、非常に同じ実行でxmlhttprequestがうまく動作します –

+0

コードが壊れていません; –

答えて

0

を返さないフェッチ:「ノーCORS」を実際の生活への応答のボディをもたらします。場合によっては誰かが同じ問題を抱えている... fetchがこのように動作する理由はまだありません。 はレスポンスボディを取得しても役に立ちません。

1

はこれは行わないでください。

mode: 'no-cors' 

それはあなたが(サーバーに何かを伝えるための)要求を作りたいというフェッチ告げますが、応答(かもしれないを読みたくありません同じ原産地規則で禁じられている)。この設定を使用すると、通常は発生す​​るエラーをスローすることなく実行できます。レスポンスを読んでほしくないと言ったので、フェッチはレスポンスを利用可能にしようとしません。

関連する問題