简体   繁体   English

angular js json.stringify to php

[英]angular js json.stringify to php

Along with the form values, I need additional data to be passed to the PHP script- I have a javascript function "cart.items()" which returns the stringified items that have been selected in the cart. 除了表单值,我还需要将其他数据传递给PHP脚本 - 我有一个javascript函数“cart.items()”,它返回已在购物车中选择的字符串化项。 How do I pass this value to the PHP function? 如何将此值传递给PHP函数?

form.html form.html

            <div ng-controller="formCtrl">

            <input type="text" ng-model="name" class="input-medium search-query" placeholder="Name" required >
            <input type="email" ng-model="email" class="input-medium search-query" placeholder="Email" required >
            <input type="text" ng-model="message" class="input-medium search-query" placeholder="Message" required >
            <button type="submit" class="btn" ng-click="formsubmit(userForm.$valid)" ng-disabled="userForm.$invalid">Submit </button>
            </form>

App.js App.js

controller("formCtrl", ['$scope', '$http', function ($scope, $http) {
  $scope.url = 'http://localhost/ShoppingCart/ShoppingCart/email.php';
  $scope.formsubmit = function (isValid) {

      if (isValid) {

          $http.post($scope.url, { 'name': $scope.name, "email": $scope.email, "message": $scope.message, "items": $scope.items }).
                    success(function (data, status) {
                        //                            console.log(data);
                        $scope.items = "this is scope";
                        $scope.status = status;
                        $scope.data = data;
                        $scope.result = data;
                        //window.location.assign("email.php");
                        //alert($scope.items);
                    })
      } else {

          alert('Form is not valid');
      }

index.php 的index.php

<?php
$post_date = file_get_contents("php://input");
$echo("I want the result of the cart.items() function here");
?>

To make http call use like this. 要像这样使用http调用。 Change according to your ajax call 根据你的ajax电话改变

var requestSignin = {
        method: 'POST',
        url: your url,
        headers: {
            "Content-Type" : "text/plain"
        },
        data: {
    field 1: $scope.signinData.email,
    field 2: $scope.signinData.password,
        .
        .
    field n . 
        },
        timeout: 30000
    };

    $http(requestSignin)
    .success(function(data) { console.log(data);
}).errror(){
}

Send your fields in data object. 在数据对象中发送您的字段。

And your php code should be like this. 你的PHP代码应该是这样的。

$post_date = json_decode(file_get_contents("php://input")); $ post_date = json_decode(file_get_contents(“php:// input”));

To get the input from request. 从请求中获取输入。

while returning from php use json_encode() 从php返回时使用json_encode()

Ex: 例如:

echo json_encode($cities); echo json_encode($ cities);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM