数码资讯
jQuery使用Firefox的Firebug插件调试Ajax步骤
首先,我们用一个例子来说明jQuery的ajax调用过程, 实现的一个功能是在点击支付按钮确认后实现余额支付功能: 1。首先将需要调用的函数绑定到PHP页面上的按钮: 复制代码代码如下所示: $(函数(){()) $(# pay_btn )Bind(单击。 }); 2。脚本: 如果以美元的方式执行:
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
首先,我们用一个例子来说明jQuery的ajax调用过程,
实现的一个功能是在点击支付按钮确认后实现余额支付功能:
1。首先将需要调用的函数绑定到PHP页面上的按钮:
复制代码代码如下所示:
$(函数(){())
$(# pay_btn )Bind(单击。
});
2。脚本:
如果以美元的方式执行:
复制代码代码如下所示:
var
balancepay:功能(事件){
Event.preventDefault();
VaR这个= $(事件。currentTarget);
VaR形式= tthis.parents(‘形');
var url = form.attr('action);
VaR数据=码= 15; / / + $(#附加码(Val)。);
无功jqxhr =美元。后(URL、数据、定义、json);
JqXhr.done(功能(数据){)
/ / console.log(这是由控制台打印); / / # 4
$(#味精)。文本('result:+数据);
});
}
$ POST模式还可以直接指定回调函数:
复制代码代码如下所示:
无功jqxhr =美元。后(URL、数据、功能(数据){ {)
$(#味精)。文本('result:+数据);
},'jsonp);
ajax方法的实现:
复制代码代码如下所示:
无功jqxhr =美元。后(URL、数据、功能(数据){ {)
$(#味精)。文本('result:+数据);
},json;
ajax方法的实现:
复制代码代码如下所示:
无功jqxhr =美元。Ajax({
类型:邮政,
网址,
数据:{代码:15},
DataType: 'jsonp',
sccuess:功能(数据){
警报();},
错误:函数(XMLHttpRequest,textstatus,errorthrown){ / / # 3。此错误函数在调试时非常有用。如果解析不正确,它会弹出错误框。
警报(XMLHttpRequest。状态);
警报(XMLHttpRequest。readyState);
警报(textstatus); / /解析错误;
},
});
三.服务器端:
复制代码代码如下所示:
公共功能actioninterpayproc(美元回调)
{
页眉(内容类型:文本);
/ /头('content-type:文本/ HTML;字符集= UTF-8);
代码= { 'code美元美元_post};
/ / / / #美元代码1提供了一个表达与语法错误在这里
/ / / echo代码;2是这里/ #后来调试说明;
…
$结果=1;
/ /回波(_post { }美元'callback'。。json_encode($结果)。;;用于客户端请求和一致的编码;
出口(0);
}
调试工具
Firefox有一个强大的Firebug插件,现在新的浏览器如Chrome和Safari和IE 8有内置的调试工具,随着这些调试工具的帮助下,实施过程中可以很详细的查看Ajax(Chrome和Firefox的调试工具的快捷键Ctrl + Shift + C);
以下使用Firebug;
1。使用Firebug查看回调:
Ajax的方法,通过服务器的异步执行,如果服务器错误不显示在页面上,我们需要使用调试工具查看;例如,上面的例子# 2注释,触发Ajax请求时,在控制台面板在错误的返回结果视图:
如果存在服务器端程序错误,您也可以看到错误的原因与一般页面相同,但只在Ajax返回的面板中查看(Web浏览器页面不会显示任何内容)。
需要解释的是,如果我们使用回声和其他方法来打印需要在服务器端查看的变量,Ajax调用的结果必须失败,因为回调函数的名称似乎要改变,这使得它无法解析。
例如,打印变量为333,那么最终的结果是333ajaxcallbak回调(1);客户寻找的333ajaxcallbak函数名,不可解析。
2。使用错误函数打印错误信息:
$()有一个错误参数,可以指定当请求失败时调用的函数。这里提供的信息对调试非常有用。
错误:函数(XMLHttpRequest,textstatus,errorthrown)
第一个参数返回的错误事件,XMLHttpRequest,有一些有用的信息:
XMLHttpRequest.readyState:
它返回的状态代码对应于一个错误描述:
状态代码
0(未初始化)也不叫发()方法
1(加载)调用发送()方法是发送请求
2(加载)(发送)方法完成后,已收到所有响应内容
3(交互)响应正在被解析。
4(完全响应)内容分析完成,客户机调用
XMLHttpRequest.status:
这里返回的状态码是我们每天看到的HTTP状态;例如,404,没有找到页面;
TextStatus:
超时
(默认:自动判断(XML或HTML))通话时间当一个请求失败。参数三:XMLHttpRequest对象,错误信息和(可选的)错误的对象,如果有错误,错误信息(二参数)也可以超时
通过这个错误函数,程序错误很容易检查;
例如,在# 2以上,去掉注释,这相当于改变了回调函数的名字;在误差,它将报道:parsererror;
三.使用console.log打印:(警觉()也可以)
这只是一个辅助的方式来提高调试经验,注意变量跟踪JS,我们可以打印通过警报()方法,但往往是irritable.console.log弹出框是一个另类,它是一种萤火虫plug-in.the结果的console.log印刷变量将显示在Firebug控制台面板。
错误的可能原因:
1。如果返回的结果是不正确的,结果可以看到萤火虫。
2。对于JSON请求,格式是严格的:
如果错误击中错误的功能是:parsererror
可能的原因是服务器端脚本编码的问题;服务器处理功能中的第一行处理可以添加到相应的头信息中:
Eg:头('content-type:文本/ HTML;字符集= UTF-8);
当然,最有可能的是格式不正确。
复制代码代码如下所示:
回声{是':''成功};jQuery不能解析
回声:成功};没有错误。
不输出奇怪的JSON格式的字符串,或jq1.4 +版本不执行成功回调。如{ 1 }或{ ABC:ABC:1 },输出
复制代码代码如下所示:
{abc:1 }
{ ''成功':真}改为{成功:true}
实现的一个功能是在点击支付按钮确认后实现余额支付功能:
1。首先将需要调用的函数绑定到PHP页面上的按钮:
复制代码代码如下所示:
$(函数(){())
$(# pay_btn )Bind(单击。
});
2。脚本:
如果以美元的方式执行:
复制代码代码如下所示:
var
balancepay:功能(事件){
Event.preventDefault();
VaR这个= $(事件。currentTarget);
VaR形式= tthis.parents(‘形');
var url = form.attr('action);
VaR数据=码= 15; / / + $(#附加码(Val)。);
无功jqxhr =美元。后(URL、数据、定义、json);
JqXhr.done(功能(数据){)
/ / console.log(这是由控制台打印); / / # 4
$(#味精)。文本('result:+数据);
});
}
$ POST模式还可以直接指定回调函数:
复制代码代码如下所示:
无功jqxhr =美元。后(URL、数据、功能(数据){ {)
$(#味精)。文本('result:+数据);
},'jsonp);
ajax方法的实现:
复制代码代码如下所示:
无功jqxhr =美元。后(URL、数据、功能(数据){ {)
$(#味精)。文本('result:+数据);
},json;
ajax方法的实现:
复制代码代码如下所示:
无功jqxhr =美元。Ajax({
类型:邮政,
网址,
数据:{代码:15},
DataType: 'jsonp',
sccuess:功能(数据){
警报();},
错误:函数(XMLHttpRequest,textstatus,errorthrown){ / / # 3。此错误函数在调试时非常有用。如果解析不正确,它会弹出错误框。
警报(XMLHttpRequest。状态);
警报(XMLHttpRequest。readyState);
警报(textstatus); / /解析错误;
},
});
三.服务器端:
复制代码代码如下所示:
公共功能actioninterpayproc(美元回调)
{
页眉(内容类型:文本);
/ /头('content-type:文本/ HTML;字符集= UTF-8);
代码= { 'code美元美元_post};
/ / / / #美元代码1提供了一个表达与语法错误在这里
/ / / echo代码;2是这里/ #后来调试说明;
…
$结果=1;
/ /回波(_post { }美元'callback'。。json_encode($结果)。;;用于客户端请求和一致的编码;
出口(0);
}
调试工具
Firefox有一个强大的Firebug插件,现在新的浏览器如Chrome和Safari和IE 8有内置的调试工具,随着这些调试工具的帮助下,实施过程中可以很详细的查看Ajax(Chrome和Firefox的调试工具的快捷键Ctrl + Shift + C);
以下使用Firebug;
1。使用Firebug查看回调:
Ajax的方法,通过服务器的异步执行,如果服务器错误不显示在页面上,我们需要使用调试工具查看;例如,上面的例子# 2注释,触发Ajax请求时,在控制台面板在错误的返回结果视图:
如果存在服务器端程序错误,您也可以看到错误的原因与一般页面相同,但只在Ajax返回的面板中查看(Web浏览器页面不会显示任何内容)。
需要解释的是,如果我们使用回声和其他方法来打印需要在服务器端查看的变量,Ajax调用的结果必须失败,因为回调函数的名称似乎要改变,这使得它无法解析。
例如,打印变量为333,那么最终的结果是333ajaxcallbak回调(1);客户寻找的333ajaxcallbak函数名,不可解析。
2。使用错误函数打印错误信息:
$()有一个错误参数,可以指定当请求失败时调用的函数。这里提供的信息对调试非常有用。
错误:函数(XMLHttpRequest,textstatus,errorthrown)
第一个参数返回的错误事件,XMLHttpRequest,有一些有用的信息:
XMLHttpRequest.readyState:
它返回的状态代码对应于一个错误描述:
状态代码
0(未初始化)也不叫发()方法
1(加载)调用发送()方法是发送请求
2(加载)(发送)方法完成后,已收到所有响应内容
3(交互)响应正在被解析。
4(完全响应)内容分析完成,客户机调用
XMLHttpRequest.status:
这里返回的状态码是我们每天看到的HTTP状态;例如,404,没有找到页面;
TextStatus:
超时
(默认:自动判断(XML或HTML))通话时间当一个请求失败。参数三:XMLHttpRequest对象,错误信息和(可选的)错误的对象,如果有错误,错误信息(二参数)也可以超时
通过这个错误函数,程序错误很容易检查;
例如,在# 2以上,去掉注释,这相当于改变了回调函数的名字;在误差,它将报道:parsererror;
三.使用console.log打印:(警觉()也可以)
这只是一个辅助的方式来提高调试经验,注意变量跟踪JS,我们可以打印通过警报()方法,但往往是irritable.console.log弹出框是一个另类,它是一种萤火虫plug-in.the结果的console.log印刷变量将显示在Firebug控制台面板。
错误的可能原因:
1。如果返回的结果是不正确的,结果可以看到萤火虫。
2。对于JSON请求,格式是严格的:
如果错误击中错误的功能是:parsererror
可能的原因是服务器端脚本编码的问题;服务器处理功能中的第一行处理可以添加到相应的头信息中:
Eg:头('content-type:文本/ HTML;字符集= UTF-8);
当然,最有可能的是格式不正确。
复制代码代码如下所示:
回声{是':''成功};jQuery不能解析
回声:成功};没有错误。
不输出奇怪的JSON格式的字符串,或jq1.4 +版本不执行成功回调。如{ 1 }或{ ABC:ABC:1 },输出
复制代码代码如下所示:
{abc:1 }
{ ''成功':真}改为{成功:true}
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。