Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用AJAX从javascript文件调用php文件_Javascript_Php_Arrays - Fatal编程技术网

如何使用AJAX从javascript文件调用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

我想从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(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在did
console.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");
    },
});