jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
jQuery $.post works in chrome, safari, but not FF (claims success callback function is undefined)
我有以下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
功能吗?
尝试在第1行之后添加此行:
theParams = encodeURIComponent(theParams);
我假设您的encodeURIComponent函数就是这个。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- Dojo不解析自定义小部件的模板html中的小部件声明性
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- 如何获得一个与用“”声明的变量工作方式相同的变量;设“;或在with块中
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- 当名称空间在id参数之前声明时,Angular UI路由器停止工作
- javascript对象声明没有按我希望的方式工作
- 为什么声明xmlhttp.Onreadystatechange导致这个程序只工作一次
- jQuery验证插件,用属性声明需要的规则不工作
- var声明语法很奇怪,但可以正常工作
- 链接(重定向)以隐身方式打开,或在新选项卡中打开,或显式声明了新页面.刚点击时不工作
- 为什么我不“如果”呢?声明的工作吗?(如果注释掉,可以工作)
- 无法使函数声明工作
- 在对象内部定义的函数中声明的this关键字究竟如何工作
- Javascript Split()与显式数组声明的工作方式不同
- 在javascript(jquery)调用中声明匿名函数时,闭包是如何工作的?
- JavaScript“If"关于复选框不工作的声明