我将以下代码段绑定到提交按钮
var formData = $(this).serialize();
console.log(formData);
$.ajax({
url: 'event_crud.php',
type: "POST",
dataType: 'text',
data: formData,
success: function(data) {
$.mobile.changePage($("#events"));
console.log("Data: "+data+"\n Rebuild the list");
update(fromDate, toDate, eventList);
$("ul#event-list").listview("refresh");
},
error: function(data) {
alert("Whoops! Update event failed! "+data);
}
});
当提交的表单中的文本字段包含右括号 - 即“)”时,我的 js 控制台中出现错误 - 请注意,我没有得到左括号的异常,并且在哪里都没有关系在文本字段中 ) 出现(不需要在最后)
这是序列化表单数据的示例
action=update&eventID=416&type=expense&description=Shopping+)&date=2013-10-17&value=350.0000
这是错误
Uncaught Error: Syntax error, unrecognized expression: ]&date=2013-10-17&value=350.0000')
请注意,右括号已序列化为方括号。FWIW,错误参考是 jquery-1.7.1.min.js:3
我也尝试过像这样对输入进行编码
formData = encodeURIComponent(formData);
没有成功。
奇怪的是,AJAX POST 似乎成功完成(数据库已更新),但 changePage 操作从未执行。