2013-07-31 9 views
5

Ich verwende einen Dienst, um eine DB-Tabelle zu aktualisieren.

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); 
} 

das Array leer zurückkehrt. Übergebe ich das Array falsch?

Chrome Dev enter image description here

Dank

+0

verwenden Was sagt die Konsole über die Anfrage? – tymeJV

+0

erfolgreich, Anfrage. Gibt die DB-Aktion zurück, nur das Array wird nicht in POST gesendet – Bungdaddy

+0

Interessant ... Was sendet Ihr PHP zurück? – tymeJV

Antwort

6

Es ist schon eine Weile her, seit ich PHP verwendet habe, aber nicht $_POST nur Anfrage enthalten Paramater? $http.post sendet Daten über eine JSON-Nutzlast, keine Parameter anfordern. Also, müssen Sie etwas wie json_decode

+0

DOH !! Ich musste einfach $ json = json_decode hinzufügen (file_get_contents ("php: // input")); – Bungdaddy

+0

Wenn Sie jQuery auf der Seite haben, senden Sie Ihre Postdaten über $ .params und fügen Sie dem Anforderungsheader Content-Type 'application/x-www-form-urlencoded' hinzu. Auf diese Weise können Sie einfach den globalen $ _POST verwenden. – Oliver

Verwandte Themen