2

以下の関数を呼び出すと:

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 update コマンドを実行します)。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";
?>

注:ローカルホスト(私のローカルマシン、XAMPP)で実行しています

4

1 に答える 1

0

問題が見つかりました。この機能を有効にするボタンのマークアップを変更する必要がありました。何らかの理由でこれに影響を与えました。

から に変更しました。なぜ違いが生じたのかはわかりませんが、問題は解決したようです。

于 2012-06-16T23:21:23.153 に答える