我似乎无法弄清楚 Chrome 调试工具。
我有 chrome 版本 21.0.1180.60 m。
我采取的步骤:
- 我按下 ctrl-shift-i 调出控制台。
- 单击 Sources,然后选择我要调试的相关 javascript 文件。
- 我通过在左侧行旁边的排水沟上放置一个蓝色标记来设置我希望代码停止的断点。
- 我单击了我的网页(这是一个 php 呈现的页面)上启动 javascript 代码的按钮。
- 代码没有停止就成功运行。
我还注意到 Watch Expressions 也不起作用。它一直告诉我,我想看的变量是未定义的。
进一步测试发现是我的代码导致断点失败。似乎它在“$("#frmVerification").submit(function(){" 行上失败了。它没有进入该函数() 内的断点。
以下是:
//function to check name and comment field
var test = "this is a test";
var test2 = "this is another test";
function validateLogin(){
//if(userEmail.attr("value") && userPass.attr("value"))
return true;
//else
//return false;
}
//onclick on different buttons, do different things.
function ajaxRequest(){
}
$(document).ready(function(){
//When form submitted
$("#frmVerification").submit(function(){
var username = $("#username");
var token = $("#token");
var action = $("#action");
var requester = $("#requester");
if(validateLogin()){
$.ajax({
type: "post",
url: "verification.php",
data: "username="+username.html()+"&token="+token.val()+"&action="+action.val()+"&requester="+requester.val(),
success: function(data) {
try{
var jsonObj = $.parseJSON(data); //convert data into json object, throws exception if data is not json compatible
if(jsonObj.length > 0){//if there is any error output all data
var htmUl = $('<ul></ul>');
$.each(jsonObj, function(){
htmUl.append('<li>' + this + '</li>');
});
$("#errOut").html(htmUl);
}else{
alert("Your account is now activated, thank you. If you have already logged in, press OK to go to the home page. If not, you must log in first.");
window.location.replace("home.php");
}
}
catch(e){//if error output error to errOut]
$("#errOut").html("PHP module returned non JSON object: <p>"+data+"</p>");
}
}
});
}
else alert("Please fill UserName & Password!");
return false;
});
});