即使发生更新,jquery ajax 也总是出错

Posted

技术标签:

【中文标题】即使发生更新,jquery ajax 也总是出错【英文标题】:jquery ajax always error even when update happens 【发布时间】:2012-06-19 11:54:28 【问题描述】:

当我调用下面的函数时:

function savePlace(id) 
var myName     = $('#placeName').val();
var myAtmosphere     = $('#placeAtmosphere').val()
var myType     = $('#placeFoodType').val()
var myPrice     = $('#placePrice').val();
$.ajax(
    type: "POST",
    url: "savePlace.php",
    data: "placeID" : id, "placeName": myName, "placeAtmosphere" : myAtmosphere, "placeType": myType, "placePrice" : myPrice,  
    dataType:"html",
    success: function(data)
        alert("YES");
    ,
    // error function is always being called - even if database gets updated correctly
    error: function (data) 
        alert("no");
    
);
return false;

它将运行 - 因为它将执行 savePlace.php 中的 php(运行 mysql 更新命令)。 savePlace.php 目前不返回任何内容,但如果需要,它可以返回 html 或文本。 在任何情况下,错误处理程序总是被执行。我已经检查了 chrome js 检查器,它报告:

statusText:"error"
responseText:""
status:0

这里是mysql代码,如果有帮助的话

<?php
require_once 'config/Common.php';
mysqli_report(MYSQLI_REPORT_ALL);
$placeID = htmlspecialchars(trim($_POST['placeID']));
$placeID = (int)$placeID;
$placeName = htmlspecialchars(trim($_POST['placeName']));
$placeAtmosphere = htmlspecialchars(trim($_POST['placeAtmosphere']));
$placeType = htmlspecialchars(trim($_POST['placeType']));
$placePrice = htmlspecialchars(trim($_POST['placePrice']));
$stmt = $EAE_CON->prepare("UPDATE EAE_PLACES SET NAME=?,ATMOSPHERE=?,FOOD_TYPE=?,PRICE=? WHERE idEAE_PLACES=?");
$stmt->bind_param('ssssi',$placeName, $placeAtmosphere, $placeType, $placePrice, $placeID);
$stmt->execute();
echo "Stuff";
?>

注意:我在 localhost(我的本地机器,XAMPP)上运行

【问题讨论】:

您的 PHP 是否与调用脚本在同一个域中? 使用 firebug 等查看您从服务器实际获得的内容。很可能出现问题,您没有收到 200 响应代码。 将错误回调更改为错误:function(data, status, err) console.log(data);控制台.log(状态);控制台日志(错误); ,看看你能不能得到更多的信息。此外,除非您期望来自服务器的 HTML,否则不要说明 dataType。 在 php 代码中?我做了上面的编辑,没有任何变化。 如果你的 savePlace.php 文件只包含一个简单的文本,比如 'hello'? 【参考方案1】:

我发现了问题。我必须更改激活此功能的按钮的标记。由于某种原因影响了这一点。

我把它从 a 改成了 a 。我不确定为什么会有所不同,但它似乎已经解决了问题。

【讨论】:

以上是关于即使发生更新,jquery ajax 也总是出错的主要内容,如果未能解决你的问题,请参考以下文章

即使手机放在桌子上,位置也会发生变化

调用 jquery/ajax 函数时出错

Ajax 更新后在 jQuery 中重新绑定事件(更新面板)

Ajax 更新后在 jQuery 中重新绑定事件(更新面板)

如何使用 jQuery 的 ajax 方法调用局部视图

jquery ajax 脚本运行成功但导致错误