2016-11-30 4 views
-1

React JSX project。 多くのパラメータでGET要求を取得しようとしていますが、Uncaught SyntaxError: Unexpected identifierエラーで失敗します。 郵便番号で同じリクエストを実行している間、正常に動作します。Javascriptは、パラメータ数でGETリクエストを取得するのを待ちます

文法上の問題があります。私は間違って何をしていますか?

まず、私はいくつかの適切な値にuriを初期化しています。

第二に、私はGETオプションを準備しています:、その後

var options = (payload) => { 
    return { 
    method: 'GET', 
    headers: { 
     Accept: 'application/json', 
     'Content-Type': 'application/json' 
    }, 
    param: JSON.stringify(payload) //payload is {domainName: "idoidoido.info"} 
    }; 
}; 

フェッチ待つ:まず、...それはUncaught SyntaxError: Unexpected identifierエラーで失敗し、まあ

答えて

0

であるべきだと思うべきです。クエリのparamsはGETリクエストを取得することができないように見えます。

これを解決するには、事前にリクエストURLをURI.jsとしてください。

ので、オプション:

URLにうまくのparamsを追加
const URI = require('urijs'); 

    const request = new URI(uri).addSearch(params).toString(); 
    const response = await fetch(uri, options()); 

addSearch(params)

URI("?hello=world") 
    .addSearch("hello", "mars") 
     // -> ?hello=world&hello=mars 
    .addSearch({ foo: ["bar", "baz"] }) 
     // -> ?hello=world&hello=mars&foo=bar&foo=baz 
0

const response = await fetch(uri, options(param)); 

をとBabelJSのような蒸散器を使用していることを願っています。そうしなければ、現在の目標の99%のように失敗します。

コードは正常です。 fetchはプロミスを返すので、awaitがそれに対処できます。しかし、awaitステートメントが常にasync function宣言内にあることを確認する必要があります。それ以外の場合は、エラーがスローされます。

だからあなたの発呼回線はそう、私はfetchの2番目のパラメータは、オブジェクトを取ると仮定していますが、あなたのoptionsは、ペイロードで呼び出されなければならない関数である

async function getData(uri, options) { 
    const response = await fetch(uri, options); 
} 
+0

おかげで、それはまさに私の当時

const options =() => { return { method: 'GET', headers: { Accept: 'application/json', 'Content-Type': 'application/json' }, credentials: 'same-origin' }; }; 

は、フェッチ待ちます後で、助けなかった。オプションの一部として 'param'を渡すことはできません。 – Stas

1

のような構造を有していることを確認してください私はあなたのコードは

const response = await fetch(uri, options(somePayload)); 
+0

ありがとう、ペイロードはそこにあった。ちょうどここにそれを書くことを忘れていた:) – Stas

関連する問題