blah £ £
现在,当它第一次通过Prototype时,它使用escape函数正确地编码字符串。此处显示完整代码(escape\u函数变量为id\u opt['escape\u function']):
escape_function: escape, // or encodeURIComponent
var new_text = id_opt['escape_function']($F(id + '_edit'));
var params = 'id=' + id + '&content=' + new_text;
if(id_opt['type'] == 'select') {
params += '&option_name=' + $(id + '_option_' + new_text).innerHTML;
}
var ajax_req = new Ajax.Request(
id_opt['save_url'],
{
method: 'post',
postBody: params,
onSuccess: function(t) { alert(t.responseText); EditInPlace._saveComplete(id, t); },
onFailure: function(t) { EditInPlace._saveFailed(id, t); }
}
);
当我再次提交它时,一切都很好,直到出现警报(t.responseText);当原型显示一些未知的字符来代替。最奇怪的是,数据库字段中的信息仍然是blah(这是正确的),但是prototype用blah(?)(?)响应((?)符号是未知的符号消除器)。
我得出的结论是,PHP响应了正确的信息,但由于某种原因,prototype获取了错误的信息……但这两者之间没有什么关系,这让我非常困惑。作为一个新手,我并不擅长解决这个问题。