2013-07-31 10 views
5

DBテーブルを更新するサービスを使用しています。

myApp.factory('createGal', function ($http, $q) 
{ 
    return { 
     createGal: function() 
     { 
      var deferred = $q.defer(); 
      var newGalleryArray = {}; 

      newGalleryArray.galleryName = 'New Image Gallery'; 
      newGalleryArray.client  = 245; 

      $http.post('/beta/images/create', {newGalleryArray: newGalleryArray}).success(function(data) 
      { 
       console.log(data); 
       deferred.resolve(data); 
      }); 

      return deferred.promise; 
     } 
    }; 
}); 

PHP

public function create() 
{ 
    print_r($_POST); 
} 

配列が空で復帰されます。私は間違って配列を渡していますか?

クロームのDev enter image description here

おかげ

+0

要求についてコンソールとは何ですか? – tymeJV

+0

が成功しました。 POSTで送信されない配列だけのDBアクションを返す – Bungdaddy

+0

興味深い...あなたのPHPは何を返すのですか? – tymeJV

答えて

6

それは、私はPHPを使用しましたので、しばらくしているが、ちょうど要求PARAMATERSが含まれていません$_POST$http.postは、要求パラメータではなくJSONペイロードを介してデータを送信します。だから、あなたは何かのようなものを使用する必要がありますjson_decode

+0

DOH !!ちょうど$ json = json_decode(file_get_contents( "php:// input"))を追加しなければなりません。 – Bungdaddy

+0

サイドでjQueryを使用している場合は、$ .paramsを通じて投稿データを送信し、Content-Type 'application/x-www-form-urlencoded'をリクエストヘッダーに追加します。この方法で、$ _POSTグローバルを使うことができます。 – Oliver

関連する問題