我有以下 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;
}
我尝试重命名该函数,但这会导致相同的未定义错误。我应该寻找什么来调试这个?
最佳答案
尝试重新排列代码
var processData, errorResponse, theParams;
processData = function (data,textStatus){
//blah blah;
};
errorResponse = function () {
//blah blah;
};
theParams = encodeURIComponent(s1)+encodeURIComponent(s2);
$.post('/myURL',theParams,processData).error(errorResponse);
这对你有用吗?
您能提供一下 encodeURIComponent
函数吗?
关于javascript - jQuery $.post 适用于 chrome、safari,但不适用于 FF(声明成功回调函数未定义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12175216/