SORU
18 Mart 2013, PAZARTESİ


PHP ve tanımsız için açısal HTTP post

Etiketi ng-submit="login() ile bir form var

İşlevi javascript ince çağrılır.

function LoginForm($scope, $http)
{
    $http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';

    $scope.email    = "fsdg@sdf.com";
    $scope.password = "1234";

    $scope.login = function()
    {
        data = {
            'email' : $scope.email,
            'password' : $scope.password
        };

        $http.post('resources/curl.php', data)
        .success(function(data, status, headers, config)
        {
            console.log(status   ' - '   data);
        })
        .error(function(data, status, headers, config)
        {
            console.log('error');
        });
    }
}

PHP dosyasından geri 200 OK yanıt alıyorum, ancak, döndürülen verileri email password tanımsız olduğunu söylüyor. Bu Sahip olduğum tüm php

<?php
$email = $_POST['email'];
$pass  = $_POST['password'];
echo $email;
?>

POST tanımsız değerler alıyorum neden herhangi bir fikir?

CEVAP
18 Mart 2013, PAZARTESİ


.post() varsayılanları application/json İçerik türü Başlığı angularjs. Bu form ile kodlanmış veri, ancak data değeri uygun bir sorgu dizesi geçmek değiştirmiyorsunuz geçirmek için geçersiz kılma, PHP beklediğiniz gibi $_POST doldurma değildir.

Benim önerim sadece application/json angularjs varsayılan ayar olarak başlık kullanımı, PHP çiğ girdi okuyun ve JSON serisini olacaktır.

Bu gibi PHP ile elde edilebilir:

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$pass = $request->password;

Eğer ağır $_POST işlevsellik kalınır alternatif olarak, email=someemail@email.com&password=somepassword gibi bir sorgu dizesi form ve veri olarak gönderebilirsiniz. Bu sorgu dizesi URL kodlanmış olduğundan emin olun. Eğer elle jQuery.serialize() gibi bir şey kullanarak karşıt olarak) yerleşik, Javascript encodeURIComponent() sizin için hile yapmak gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BDGcustoms

    BDGcustoms

    24 NİSAN 2011
  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010
  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006