我無法讓我的jQuery Ajax正常工作。它指向PHP頁面來更新數據庫,但不會返回成功或錯誤選項的腳本。Ajax成功和錯誤功能失敗
我的代碼如下:
$(document).ready(function(){
$("form#updatejob").submit(function() {
function textreplace(x) {return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");}
// we want to store the values from the form input box, then send via ajax below
var job = $("#job").attr("value");
var description = $("#description").val();
description.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
var startDate = $("#startDate").attr("value");
var releaseDate = $("#releaseDate").attr("value");
var status = $("#status").attr("value");
$.ajax({
beforeSend:textreplace(description),
type: "POST",
url: "updatedjob.php",
data: "jobID="+ job +"& description="+ description +"& startDate="+ startDate +"& releaseDate="+ releaseDate +"& status="+ status,
success: function(){
$("form#updatejob").hide(function(){$("div.success").fadeIn();});
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
return false;
});
});
而且PHP:
<?php
include("connect.php");
$job = trim($_POST['job']);
$startDate = trim($_POST['startDate']);
$releaseDate = trim($_POST['releaseDate']);
$mysqlstartdate = date('Y-m-d', strtotime($startDate));
$mysqlreleasedate = date('Y-m-d', strtotime($releaseDate));
$description = trim($_POST['description']);
$status = trim($_POST['status']);
$update = "UPDATE jobs SET startDate = '$mysqlstartdate', releaseDate = '$mysqlreleasedate', description = '$description', status = '$status' WHERE jobID = '$job' ";
$rsUpdate = mysql_query($update);
// or die(mysql_error()); mysql_close();
?>
會發生什麼,如果你把一個'警報()'的'success'回調函數的第一行? '成功:function(){alert('foobar'); ...' – Jasper 2012-01-18 22:14:48
您提供php代碼似乎也是合乎邏輯的。你是否迴應迴應? – 2012-01-18 22:18:55
這裏是PHP:'<?php include(「connect。(); $ job = trim($ _ POST ['releaseDate']); $ job = trim($ _ POST ['job']); $ startDate = trim $ mysqlstartdate = date('ym -d',strtotime($ startDate)); $ mysqlreleasedate = date('Ym-d',strtotime($ releaseDate)); $ description = trim($ _ POST ['description'] ); $ status = trim($ _ POST ['status']); $ update =「UPDATE jobs SET startDate ='$ mysqlstartdate',releaseDate ='$ mysqlreleasedate',description ='$ description',status ='$狀態'WHERE jobID ='$ job'「; $ rsUpdate = mysql_query($ update); // or die(mysql_error()); mysql_close(); ?>' – michael 2012-01-19 16:46:41