如何使用AJAX从javascript文件调用php文件

时间:2019-05-19 20:52:14

标签: 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(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); 

        ?>

代码已执行,数据库表中的状态已更改,但控制台出现错误:SyntaxError: JSON.parse: unexpected character at line 4 column 2 of the JSON data

我该如何解决我认为需要重写json_encode但不知道如何解决的问题?

1 个答案:

答案 0 :(得分:-1)

$.ajax({
    type: 'post',
    dataType: 'json',
    cache: false,
    url: 'setpp.php',
    success: function (response) {
        $.each(response, function(i, item) {
            alert(item);
        });     
    },
    error: function () {
      alert("error");
    },
});

示例php答案setpp.php

if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_array($result)) {
        array_push($data, $row['status']);
    }
    die(json_encode($data));
} else {
    $answer = array(
         'No Records'
    );
    die(json_encode($answer));
}

我认为问题在于setpp.php返回的值。

请记住die(),否则php答案将不正确