我似乎无法理解如何将客户端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那里得到的。是的,它没有用。请不要模糊。谢谢!答案 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
}