怎样调试PHP页面中的javascript代码
如题,当PHP解析为后缀名为.php的页面时,怎样调试其中的javascript代码,以及调试ajax代码,因为要与后台PHP代码交互,所以firebug一到ajax时调...
如题,当PHP解析为后缀名为.php的页面时,怎样调试其中的javascript代码,以及调试ajax代码,因为要与后台PHP代码交互,所以firebug一到ajax时调试就停止了,不知道应该怎样一直能跟踪它的代码,谢谢!
展开
6个回答
展开全部
我的建议是这样的:
一段javascript程序包括逻辑代码和数据代码,ajax主要负责的是数据部分。
一段ajax程序包又括输入和输出。
所以整段javascript代码调试可以分为测试逻辑部分和测试数据部分。
逻辑部分的测试可以使用模拟数据的方式,即把ajax部分直接用模拟数据代替。若代码如下:
var callback = function (data) {
//your code
...
};
//ajax部分
var TextRequest = function (url, data, callback) {
//ajax code
var request = HTTP.newRequest();
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200)
callback(request.responseText);
}
request.open("POST", url);
request.send(data);
}
可以在调试的时候将以上部分直接用:
//ajax部分
var TextRequest = function (url, data, callback) {
callback(request.responseText); //responseText用虚拟数据代替
}
这样就可以不用考虑数据部分,而直接测试javascript代码的逻辑问题,firebug可以完美的运作。
下一部分就是数据部分的测试,这部分我们只要关心输入部分的data和url满足规定,返回的responseText满足规定就可以了,这部分可以在firebug的web里面抓取。
欢迎继续讨论和追问哦。
一段javascript程序包括逻辑代码和数据代码,ajax主要负责的是数据部分。
一段ajax程序包又括输入和输出。
所以整段javascript代码调试可以分为测试逻辑部分和测试数据部分。
逻辑部分的测试可以使用模拟数据的方式,即把ajax部分直接用模拟数据代替。若代码如下:
var callback = function (data) {
//your code
...
};
//ajax部分
var TextRequest = function (url, data, callback) {
//ajax code
var request = HTTP.newRequest();
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200)
callback(request.responseText);
}
request.open("POST", url);
request.send(data);
}
可以在调试的时候将以上部分直接用:
//ajax部分
var TextRequest = function (url, data, callback) {
callback(request.responseText); //responseText用虚拟数据代替
}
这样就可以不用考虑数据部分,而直接测试javascript代码的逻辑问题,firebug可以完美的运作。
下一部分就是数据部分的测试,这部分我们只要关心输入部分的data和url满足规定,返回的responseText满足规定就可以了,这部分可以在firebug的web里面抓取。
欢迎继续讨论和追问哦。
追问
谢谢!我本来想能够整套的调试PHP网页中的PHP、JS和AJAX代码而不会中断,看来是没有这种软件了……请问你用过jquery吗,我想请教个问题:我想用jquery完成这样一个ajax的效果:当XMLHttpRequest.readyState != 4 || aj.XMLHttpRequest.status != 200时能够显示“loading……”的字样,当交互完毕时再显示相应信息(如:用户名可用),但是在jquery中的$.ajax好像没有这样的函数,请问你是怎样做的呢?谢谢!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是用IE调试的吗?IE有一个调试功能你可以用以下,你只需将选项里的脚本调试选上就行,工具---->选项------->高级下边有一个仅用脚本调试前的勾去掉就行,我用过一段时间,感觉还可以,找一些js的错挺准的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
手动用JS中的 alert() 一步步调试吧 作用相当于PHP中的echo
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询