$ http () не отправляет данные методом POST на сервер PHP - PullRequest
0 голосов
/ 07 декабря 2018

У меня возникли проблемы, когда я отправляю данные методом post в файл php, вот пример:

function SimuladorService ( $http, config ) {
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8;";
$http.defaults.headers.post["Accept"] = "application/x-www-form-urlencoded";

const post = function(dados) {
    return $http({
        method: 'POST',
        url: "example.php",
        data: {
            nome:'almir',
            sobrenome: 'teste'
        },
        transformRequest : function(obj) {
            var str = [];
            for(var p in obj)
            str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
            return str.join("&");
        },

    })

}}

example.php

<?php
echo json_encode($_POST);

это не возвращает мои данные $ _POST.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Чтобы отправить данные в PHP API, просто используйте значения по умолчанию:

var data = {
    nome:'almir',
    sobrenome: 'teste'
};

function post(data) {
    var url = "example.php";
    return $http.post(url,data);
}

post(data).then(function(response) {
    console.log(response.data)
    $scope.data = response.data;
}).catch(function(response) {
    console.log(response);
    throw response;
})

На стороне сервера PHP:

<?php
$data = json_decode(file_get_contents('php://input'), true);
echo file_get_contents('php://input');

В платформе AngularJS по умолчанию используетсяДанные JSON.Лучше всего избегать использования URL-закодированных данных.

0 голосов
/ 07 декабря 2018

если проблема связана с углом, попробуйте этот код:

 $scope.post = function(dados){
        console.log(dados)
        $http({
            method: 'POST',
            url: "example.php",
            data: {
                nome:'almir',
                sobrenome: 'teste'
                },
            withCredentials: true,
            headers: {'Content-Type': 'application/x-www-form-urlencoded'},
            })
            .then(function successCallback(data) {
                console.log(data)
            }, function errorCallback(response) {
                console.log(response);
            });

    }

html: <button ng-click="post('dados')">click</button>

проверьте, что вы получаете в console.log если проблема не исчезнет,тогда можно будет добраться до причины

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...