2016-10-25 22 views
0

、私は次のようにjQueryを使ってPOSTリクエストを送信する、...

this.login = function (email, password) { 
    return $.getJSON(FOO_URL, { 
     email: email, 
     password: password 
    }); 
} 

...私の応答は完全に罰金です。しかし

Object {result: "ok", key_one: result_one, key_two: result_two, ...} 

、私は次のように角度の$httpを使用して同じことをしようと、...

this.login = function (email, password) { 
    return $http.post(FOO_URL, { 
     email: email, 
     password: password 
    }); 
} 

...私の応答データが完全に空になっています。

Object {data: "", status: 200, config: Object, statusText: "OK"} 

私の応答データが空白の$httpであるのはなぜですか?

+0

'$ .getJSON'は' POST'要求を発行しません**。 'GET' – Phil

+0

は面白いですが、$ http.getはうまくいきません。 – Grateful

答えて

0

jQueryの$.getJSONは、POSTの要求を発行します。それはGETしかできません。

それはまったく同じにするために、あなたはparamsとしてデータを渡したいと思うでしょうが...

$http.get(FOO_URL, { 
    params: { 
     email: email, 
     password: password 
    } 
}) 

application/x-www-form-urlencodedとしてフォーマットデータとPOSTリクエストを送信するにはhttps://docs.angularjs.org/api/ng/service/$http#usage


を参照してください。 PHPの$_REQUEST(または$_POST)を使用している場合は、この回答を参照してください〜https://stackoverflow.com/a/30970229/283366

短い答え、$http$httpParamSerializerを注入し、

$http({ 
    method: 'POST', 
    url: FOO_URL, 
    data: $httpParamSerializer({email: email, password: password}), 
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' } 
}) 
+0

残念ながら、$ http.getは同じ応答を得ています。だから、それはまだ動作しません。 – Grateful

+0

@Grateful私の答えのように 'params'オブジェクトを設定しましたか? – Phil

+0

おっと...私はそれを行ってみましょう – Grateful

0

それらを使用するには、二つの異なるHTTPリクエストです。 1つはgetJSONはGETメソッドで、$ http.postはPOSTメソッドです。

this.login = function (email, password) { 
    return $http.get(FOO_URL, { 
     params: { 
      email: email, 
      password: password 
     } 
    }); 
} 
+0

ありがとうございました。 Unfortunatley、$ http.getはどちらも動作しません...それは私にまったく同じ応答を与えます。 – Grateful

関連する問題