我沒有得到響應的,當我嘗試從jQuery的觸發此Ajax請求:的jQuery:Ajax請求不工作
/********************************
CHANGE USER SETTINGS
*********************************/
$(".submitUserSetting").live('click', function() {
//get values
var department = $("#us_department").val();
var sortOrder = $("input[@name=us_sortOrder]:checked").val();
$.ajax({
type: "POST",
url: "lib/includes/updateUserSettings.php",
data: "empname=" + empname + "&department=" + department + "&sortOrder=" + sortOrder,
success: function(data) {
alert(data);
}
});
});
我的意思是什麼。沒有javascript錯誤,MySQL查詢沒有錯誤,甚至沒有在console.log中的POST數據。只是一個嘲弄的批次或沉默。即使我註釋掉PHP頁面中的所有代碼,只是回顯我發送給它的數據,也沒有。這裏的PHP頁面(類存在,職能的工作,我使用他們十幾其他網頁)
<?php
require_once("../classes/mysqlconnect.php");
$db = new dbconnect();
$db->makeConnections("TimeSheetManager");
$empname = $_POST['empname'];
$department = $_POST['department'];
$sortOrder = $_POST['sortOrder'];
//get the department id
$dQuery = "SELECT id FROM departments WHERE department = '" . $department . "'";
$dResults = $db->getResults($query);
if (mysql_num_rows($dResults) > 0) {
while($rows = mysql_fetch_array($dResults) {
$deptID = $rows['id'];
}
}
//update database
$query = "UPDATE users SET `department` = '" . $department "', `displayOrder` = '" . $sortOrder . "' WHERE username = '" . $empname . "'";
$results = $db->getResults($query);
if ($results) {
echo "!success";
} else {
echo "!fail";
}
?>
這裏的表單代碼:
<div id="userSettingsForm">
<form name="userSetting">
<p><label for="sortOrder">Display Order:</label></p>
<p class="userSettingElement">Oldest First <input type="radio" name="us_sortOrder" value="asc"> Newest First <input type="radio" name="us_sortOrder" value="dsc"></p>
<p><label for="us_department">Department:</label></p>
<p class="userSettingElement">
<select id="us_department" name="us_department">
<option value="null">Select A Department</option>
<?php
$query = "SELECT * FROM departments";
$results = $db->getResults($query);
while($row = mysql_fetch_array($results)){
if (count($results) > 0) {
//get department and id
$department = $row['department'];
$deptID = $row['id'];
print "<option value=\"" . $deptID . "\">" . $department . "</option>";
}
}
?>
</select>
</p>
<p><a href="javascript:void(0);" class="submitUserSetting btn">Submit</a></p>
</form>
</div>
感謝所有幫助和建議。我重新啓動了Firefox並且錯誤是在empname中,我沒有設置它(doh!)。白鯨加入了這個行列,但花了一點時間才清醒過來。希望我可以給大家獎勵答案。
是什麼'empname'。在更新獲取表單字段上的單引號騎:例如:'更新用戶SET部門...' – kjy112 2011-03-08 15:33:23
您的網站公開可用嗎?如果是這樣,你可以發佈一個鏈接到有問題的頁面嗎? – 2011-03-08 15:33:51
如果爲「失敗」事件添加處理程序,是否顯示任何內容? – 2011-03-08 15:35:09