我在哪里放置我在这里找到的ajaxSend代码:
https://docs.djangoproject.com/en/1.2/ref/contrib/csrf/#ajax
我的意思是,我有一个基本的htm文件有一个部分,看起来有点像这样:
<script>
$(function() {
$("#loginThing").click(function(){
... and then i define buttons to be pressed etc etc
});
</script>
那么什么?我把代码放在$ {function(){})之上;调用(但在脚本标签中)?我把放在函数调用中吗?我是否必须改变它 - 它的方式,或许 - 以任何形式或形式?
我把它放在$(function())调用之上(但在脚本标记中),但它不像我的ajax调用表现得有所不同。事实上,我没有最模糊的概念如何测试这是否正在做任何事情。我没有使用任何测试代码(我知道,很糟糕。但这是一个学习进步。另外,我不喜欢测试代码)。有什么方法可以“手动”测试吗?比如,只使用firefox吗?
答案 0 :(得分:1)
我在哪里放置ajaxSend代码
它只需要超出你现在的功能定义。
<script>
$(function() {
$("#loginThing").click(function(){
// ... and then i define buttons to be pressed etc etc
});
$(document).ajaxSend(function(event, xhr, settings) {
// ... Rest of function goes here
});
</script>
有什么方法可以“手动”测试吗?比如,只使用firefox吗?
我无法告诉你如何在Firefox中测试它,因为我不使用它。但是,Chrome有一个内置的界面,非常适合这种情况。
在Chrome中打开您的页面并点击Command-Option-I(在Mac上,Windows可能类似)。转到“网络”选项卡。在最左侧的列中,您应该看到POST请求的URL。点击它。它将为您提供探索所需的所有详细信息,Cookie(查找csrftoken
以确保页面中存在Django的csrf cookie),请求和响应标头等。
它不像我的ajax调用行为有任何不同。事实上,我没有最模糊的想法如何测试这是否正在做任何事情。
他们应该是,你只是不能“看到”它。使用上述Chrome工具查看与服务器的通信。确认它“正在做任何事情”: