angular.js - angular提交表单的数据格式
我想大声告诉你
我想大声告诉你 2017-05-15 16:52:15
0
4
655

我是这样提交表单的

$http({
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    },
    method: 'POST',
    url: url,
    data: {
        type: 1
    }
})

为什么我的服务器接到的会是这样的东西?

{ '{"type":1}': '' }
我想大声告诉你
我想大声告诉你

全員に返信(4)
左手右手慢动作

問題は解決しました
理由:
デフォルトでは、jQuery は Content-Type: x-www-form-urlencoded とおなじみの foo=bar&baz=moe シリアル化を使用してデータを送信しますが、AngularJS は Content-Type: application/json と { "foo": "bar を使用してデータを送信します。 ", "baz": "moe" } JSONシリアル化

デフォルトでは、jQuery は Content-Type: x-www-form-urlencodedand と「foo=bar&baz=moe」のようなシーケンスを使用してデータを送信しますが、AngularJS は Content-Type: application/json と { "foo": "bar", "baz": "moe" } このような JSON シーケンス。

ソリューション

リーリー
いいねを押す +0
PHPzhong

おそらく jquery の使用に慣れているかもしれません
jqueryはquery_string操作をカプセル化します
このコードを angular に追加し、サンプル名を変更するだけです

リーリー
いいねを押す +0
阿神

1. angularjs の公式ドキュメントを読んで、$http のヘッダーが少し異なるようです。
2. fiddler ツールをダウンロードし、リクエスト ヘッダーやパラメーターなどの情報を表示します。

いいねを押す +0
伊谢尔伦

サーバーは $_REQUEST/$_POST を直接使用して取得することはできませんが、次のものを使用する必要があります:
$params = json_decode(file_get_contents('php://input'),true);

投稿データを取得するには

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート