2016-09-11 3 views
3

ヴュー・リソースのPOSTリクエスト:VueのリソースPOSTリクエストのContent-Typeの

this.$http.post(form.action, new FormData(form)).then(function (response) { 
    FetchResponse.fetch(this, response.data) 
}) 

リクエストは、コンテンツタイプとして送信されます: "アプリケーション/ JSON;のcharset = UTF-8" しかし、何のデータをPHPで表示することはできません役職。

セットアップヘッダーVueの資源:

request.headers.set( 'Content-Typeの'、 '');

しかし、リクエストのContent-Type: "マルチパート/フォームデータ;境界= ---- WebKitFormBoundaryTsrUACAFB1wuhFOR"

クエリの先頭にカンマがあります。

jqueryのPOSTリクエスト:

$.ajax({ 
    url  : form.action, 
    type : 'POST', 
    data : new FormData(form), 
    success : function (reqData) { 
     FetchResponse.fetch(ss, reqData) 
    }, 
}); 

同じクエリは、jQueryを使ってシームレスに動作します。 jQueryのコンテンツタイプ: "マルチパート/フォームデータ;境界= ---- WebKitFormBoundaryTsrUACAFB1wuhFOR"

問題: https://github.com/vuejs/vue-resource/issues/398

+0

投稿されたデータをPHPで表示できないのはなぜですか?どのようなエラーが出ますか?ちょうど今テスト中にコンテンツタイプを設定することはできませんでしたが、それは問題には見えませんでした.Laravelはデータをうまく受信しました。 –

答えて

1

シンプルなJSONオブジェクトを投稿し、 'emulateJSON' VUE-リソースを有効にする代わりにしてみてくださいオプション:

const formData = { 
    someProp: this.someProp, 
    someValue: 'some value' 
}; 

this.$http.post(this.postUrl, formData, {emulateJSON: true}) 
    .then(response => { 
     console.log(response.body); 
    }, response => { 
     console.error(response.body); 
    }); 
関連する問題