我是网络开发的新手,所以如果我的问题看起来有点傻,请原谅。是否可以从浏览器中的控制台读取值作为JS中的变量。一个例子 : 我得到一个“ReferenceError:not not not defined”错误。我想创建一个依赖于该结果的if / else语句。这可能吗?
编辑:
我正在使用发送数据的AJAX调用,我可以在控制台中看到结果。这是我的代码:
$('#RequestBut').click(function () {
$.ajax({
type: 'POST',
contentType: "application/json",
dataType: 'jsonp',
url: "http://www.google.com/recaptcha/api/verify",
data: {
privatekey: 'XXXXXXXXXXXXX',
remoteip: document.getElementById("ipaddress").innerHTML,
challenge: Recaptcha.get_challenge(),
response: Recaptcha.get_response()
}
})
});
我在控制台中看到了我要查找的结果。我想要的只是检索它。
答案 0 :(得分:2)
您可以在开发人员工具控制台中运行任意Javascript(至少在Firefox和Chrome中),但这与“从控制台读取”不同。
要输入多行,请使用“shift + enter”而不是“enter”(将运行脚本)。
所以你可以在控制台中写字:
try { /* press shift+enter here */
bla_bla /* press shift+enter here */
} catch(e) { console.log(e) } /* press enter here */
这将捕获ReferenceError异常e
答案 1 :(得分:1)
如果您家中的管道有泄漏,您是否订购了大量水桶来接水,或者您只是关闭主水龙头?
您可以在源代码中捕获错误,如果是您正在调用的外部代码,则可以使用try { } catch( e ) {};
来捕获错误。您无法读取已记录到控制台的内容,但您可能会覆盖日志记录功能并以此方式捕获所有内容。但是,这再一次将您带到我的开场白问题,您是否会寻求广泛的解决方案或特定任务?
更新:您无法捕捉到您想要的ajax调用,这就是done
和fail
“承诺”回调的用途(documentation )。类似的东西:
$.ajax({
type: 'POST',
contentType: "application/json",
dataType: 'jsonp',
url: "http://www.google.com/recaptcha/api/verify",
data: {
privatekey: 'XXXXXXXXXXXXX',
remoteip: document.getElementById("ipaddress").innerHTML,
challenge: Recaptcha.get_challenge(),
response: Recaptcha.get_response()
},
done: function( data, statusString, jqXHR ) {
// do something with data here
},
fail: function( jqXHR, textStatus, errorThrown ) {
// do something with the error here
}
})
答案 2 :(得分:0)
是的,可以从浏览器JavaScript控制台读取变量。我想你正在使用chrome。您会遇到这种错误,因为您引用的变量无法访问。可能是您尚未将其声明为全局变量,或者您未能声明变量。您可以通过编写
来声明全局变量<script>
var myVariable="Hello World";
</script>
你的html文件中的。或者,如果您正在编写javascript,则只需排除脚本标记。
然后在JavaScript控制台中,您只需在控制台中编写myVariable
即可读取myVariable
的值。
答案 3 :(得分:0)
要阅读console.log
,请console.log=function(e) {document.write(e);}