如何使用JSON将HTML数据发送到PHP?

时间:2017-02-19 13:57:26

标签: javascript php html json

我似乎无法理解如何将客户端HTML 中的数据发送到我的服务器端PHP (这已经意味着他们不在相同的文件夹并且没有在服务器中运行)并且只获得未知标识变量的通知和致命错误:无法访问空属性。

我尝试过W3Schools中的方法但仍然没有运气。只是为了确保我尝试复制粘贴它。还是一样。

所以我的问题是:如何发送这个简单的客户端HTML / JavaScript数据: -

<script>
function sender(){
obj = "tblname";
// how to send that data to the php server-side.
}
</script>

到这个PHP: -

<?php
header("Content-Type: application/json; charset=UTF-8");
$obj = json_decode($_GET["x"], false);

$conn = new mysqli("localhost", "root", "", "mydb");
$result = $conn->query("SELECT * FROM ".$objData);
$outp = array();
$outp = $result->fetch_all(MYSQLI_ASSOC);

echo json_encode($outp);
?>

使用JSON?

如果有人可以详细说明并向我展示样品,那就太棒了。

同样,我是一个使用JSON的noob / newb并且没有长期背景(我刚开始就像一个星期前一样,并且已经有很多问题)而且当涉及到这类客户端时我完全无能为力 - 到服务器通信。

我只需要简单的发送者代码(来自JavaScript)和接收代码(来自Php)一行或两行即可;简要介绍一下它们的工作原理。

我使用的是Windows 7,Wamp3.0.6和Chrome。

PS:我是从W3Schools那里得到的。是的,它没有用。请不要模糊。谢谢!

2 个答案:

答案 0 :(得分:0)

您可以从客户端到服务器文件进行ajax调用,并可以使用get方法

发送数据
// Using the core $.ajax() method
$.ajax({

    // The URL for the request
    url: "path of your php file",

    // The data to send (will be converted to a query string)
    data: {
        id: 123
    },

    // Whether this is a POST or GET request
    type: "GET",

    // The type of data we expect back
    dataType : "json",
})
  // Code to run if the request succeeds (is done);
  // The response is passed to the function
  .done(function( json ) {
     })
  // Code to run if the request fails; the raw request and
  // status codes are passed to the function
  .fail(function( xhr, status, errorThrown ) {
    alert( "Sorry, there was a problem!" );

  })
  // Code to run regardless of success or failure;
  .always(function( xhr, status ) {
    alert( "The request is complete!" );
  })

答案 1 :(得分:-2)

您不能按原样通过HTTP传输对象。您需要将其转换为可以放入HTTP-POST请求正文的字符串:

try {
  var jsonString = JSON.stringify(anyJsonObject);
  //send it to the server
} catch(ex) {
  //handle error if anyJsonObject wasn't a valid JSON object. Remember: Not every JS object is a JSON object too.
}

相反的方式是:

try {
   var jsonObject = JSON.parse(anyJsonString);
} catch(ex) {
   //handle error if anyJsonString was malformed
}