如何使用AJAX从javascript文件调用php文件
我想从javascript调用php文件,这个php文件将更新如何使用AJAX从javascript文件调用php文件,javascript,php,arrays,Javascript,Php,Arrays,我想从javascript调用php文件,这个php文件将更新id=1 这样说: javascript: if(lastTemp >= document.getElementById("TempSet").value){ var jsonData2 =$.ajax({ url: "setpp.php", dataType: "json", async: false }).responseText; var obj2 = JSON.parse
id=1
这样说:
javascript:
if(lastTemp >= document.getElementById("TempSet").value){
var jsonData2 =$.ajax({
url: "setpp.php",
dataType: "json",
async: false
}).responseText;
var obj2 = JSON.parse(jsonData2);
console.log(obj2);
}
else {
}
php文件:
<?php
$DATABASE_HOST = 'localhost';
$DATABASE_USER = 'use';
$DATABASE_PASS = 'pass';
$DATABASE_NAME = 'database';
// Try and connect using the info above.
$db = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS,
$DATABASE_NAME);
if (!$db){
die("Connection Failed: ". mysqli_connect_error());
}
$db_update = "UPDATE setpoint_control SET status='ON' WHERE id=1";
$result = mysqli_query($db, $db_update);
?>
<?php
$data = array();
if(mysqli_num_rows($result)>0){
while($row = mysqli_fetch_array($result)){
array_push($data, $row['status']);
}
}
echo json_encode($data);
?>
示例php答案setpp.php
if(mysqli\u num\u行($result)>0){
while($row=mysqli\u fetch\u数组($result)){
数组推送($data,$row['status']);
}
die(json_编码($data));
}否则{
$answer=数组(
“没有记录”
);
die(json_编码($answer));
}
我认为问题在于setpp.php
返回的值
记住die()
,否则php的答案将不正确响应中是什么?在定义了console.log(jsonData2)
之后,在该行中尝试一下它,看看它是什么。(另外,与此问题无关,但请不要执行同步Ajax请求。)当我删除var obj2=json.parse(jsonData2)时,尝试在json编码周围使用add_斜杠代码>console.log(obj2)
它可以正常工作~原因可能是什么?@M.Saeed这是因为原始错误与JSON.parse
语句有关,这是由于PHP的响应不是有效的JSON。这可能有很多原因,我要求查看实际的响应(您可以很容易地记录),以便更好地了解它可能是什么。@RobinZigmond在didconsole.log(jsonData2)
之后,我在控制台中得到了这个
警告:mysqli_num_rows()期望参数1是mysqli_result,第26行C:\xampp\htdocs\test\climate\setpp.php中给出的布尔值
[]
为什么您否决投票并删除您的答案?:)它给了我error
,但是setpp,php
中的json被执行了!我不明白it@M.Saeed我改进了上面的答案。请现在检查一下。还是给我错误!在setpp.php
中,我这样做:$data=array();如果(mysqli_num_rows($result)>0){while($row=mysqli_fetch_array($result)){array_push($data,$row['status']);}echo json_encode($data)}die(json_encode($data))代码>再次改进,你没有死():)
$.ajax({
type: 'post',
dataType: 'json',
cache: false,
url: 'setpp.php',
success: function (response) {
$.each(response, function(i, item) {
alert(item);
});
},
error: function () {
alert("error");
},
});