【发布时间】:2012-08-29 18:03:08
【问题描述】:
我有以下 jQuery 1.7.2 代码:
var theParams = encodeURIComponent(s1)+encodeURIComponent(s2);
$.post('/myURL',theParams,processData).error(errorResponse);
function processData(data,textStatus){
blah blah;
}// end processData
function errorResponse() {
blah blah;
}
此代码在 Safari 6 (Mac)、Chrome 21 (Mac)、Safari (iPad)、Chrome (iPad)、 但 FF 14 (Mac) 给了我以下错误:
ReferenceError: processData is not defined
奇怪的是,类似的代码(来自不同的页面)在 FF 上也能正常工作:
var formData = $(form).serialize();
$.post('/myURL',formData,processData).error(errorResponse);
function processData(data,textStatus) {
blah blah;
}// end processData
function errorResponse() {
blah blah;
}
我尝试重命名该函数,但这会导致相同的未定义错误。我应该寻找什么来调试这个?
【问题讨论】:
-
原代码也适用于IE9(Windows 7)。
-
您是否在 if 语句中定义函数?如果是这样,那就可以了:这在 JavaScript 规范中是不允许的,并且不同的浏览器实现它的方式不同。
标签: javascript jquery html firefox