jQuery AJAX响应给出错误

时间:2015-09-24 05:54:20

标签: php jquery ajax

jQuery代码

$.ajax({
    url: "far-area_m.php",
    type: "POST",
    dataType: 'json',
    data: values ,
    success: function (response) {
        alert("sdfds");
        // you will get response from your php page (what you echo or print)                        
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert(textStatus);
        console.log(textStatus, errorThrown);
    }               
});

远area_m.php

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname='lateral';

$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$len = $_REQUEST["len"];
$bre = $_REQUEST["bre"];
$wid = $_REQUEST["wid"];

$sql = mysqli_query(
    $conn,
    "INSERT INTO `far_input` (`length`, `breadth`, `width`)
    VALUES
    ('".$len."', '".$bre."', '".$wid."')
    ");
$data = array(
    'len'     => $len,
    'bre'  => $bre,
    'wid'   => $wid
);

echo json_encode($data);
?>

总是Ajax响应是打印错误。但是如果我在 far-area_m.php 中注释插入语句,我会得到响应。请告诉我代码有什么问题。 在jquery的成功中,我没有得到任何响应它的投掷错误。

1 个答案:

答案 0 :(得分:0)

你发布了一个不完整的ajax代码。希望你会发现你在那里做错了,可能是由于在代码结束时没有使用return false;而发生错误。它会手动停止表单提交。

你的代码应该是这样的:

$('#form').submit(function(){

var values = $('#form').serialize();

$.ajax({
url: "far-area_m.php",
type: "POST",
dataType: 'json',
data: values ,
success: function (response) {
    alert("sdfds");
   // you will get response from your php page (what you echo or print)                 
},
error: function(jqXHR, textStatus, errorThrown) {
    alert(textStatus);
   console.log(textStatus, errorThrown);
}


});
return false;
});