我将以下代码段绑定到提交按钮
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似乎成功完成(db已更新),但从不执行changePage操作。