将AJAX JSON与PHP / MySQL相结合? PHP://输入?

时间:2017-02-12 17:28:30

标签: php jquery mysql json ajax

如果单独测试,AJAX / PHP CODE都可以工作,AJAX将数据发送到API, PHP从JSON文件发送JSON信息

我想要的是AJAX将JSON数据发送到PHP,然后将其添加到数据库中

script.js

$.ajax({
      type: 'POST',
      url: 'http://rest.learncode.academy/api/userabc/friends', //LINK OF THE PHP HERE?
      data: {name: 'Person3', age: 67},
      success: function(data) {
        alert("Friend added!"+ data);
      }
});

file.php

// Create connection
$con = new mysqli($servername, $username, $password, $dbname);

//read the json file contents
$jsondata = file_get_contents('json.json'); // php://input?

//convert json object to php associative array
$data = json_decode($jsondata, true);

//get the employee details
$id = $data['id'];
$name = $data['name'];
$email = $data['email'];
//insert into mysql table

$sql = "INSERT INTO users(id, name, email) VALUES('$id', '$name', '$email')";
$con->query($sql);

我尝试插入url: http://localhost/WEP/JQUERYAJAX/mysl/php.php script.js 并且php://input file.php 但没有用?什么可以解决方案?

1 个答案:

答案 0 :(得分:0)

在客户端使用此功能:

var data = {name: 'Person3', age: 67};
$.ajax({
    url: "http://localhost/WEP/JQUERYAJAX/mysl/php.php",
    type: "POST",
    data: JSON.stringify(data),
    contentType: "application/json",
    success: function(data) {
      window.alert("Friend added! "+ data);
    }
});

这在php.php的服务器端:

$_POST ? '' : $_POST = json_decode(trim(file_get_contents('php://input')), true);
var_dump($_POST);

警告将是:

Friend added! array(2) {
  ["name"]=>
  string(7) "Person3"
  ["age"]=>
  int(67)
}

这意味着你的php.php correctry parced json数据,你可以在php.php中以$ _POST ['name']和$ _POST ['age']的形式访问它。使用空的php.php而不使用任何其他代码(仅限于我在此答案中发布的那些代码)来测试脚本,并确保避免任何其他错误。