$(document).ready(function() {
$(".comment_flag").click(function(){
$(".comment_flag").prop("disabled", "disabled");
$.ajax({
url: "http://www.somesite.net/ajax/comment_flag",
type: "POST",
data: {'<?php echo $this->security->get_csrf_token_name(); ?>':'<?php echo $this->security->get_csrf_hash(); ?>', "x":"1"},
success: function(){
//Do something
$("comment_flag").prop("disabled");
},
complete: function(){
$("comment_flag").removeProp("disabled");
},
error: function(){
}
});
});
});
我遇到了数据线的一些问题。我花了几个小时的挫折试图弄清楚为什么我不能回应它。我也试过像这样创建php变量:
$x = json_encode($this->security->get_csrf_token_name());
$y = json_encode($this->security->get_csrf_hash());
和javascript变量如下:
var x = <?php echo json_encode($this->security->get_csrf_token_name()); ?>;
var y = <?php echo json_encode($this->security->get_csrf_hash()); ?>;
在外部javascript加载到的页面中(第一个代码框)。
我似乎无法完成任何这项工作。我正在使用codeIgnighter传递crsf数据。我似乎可以发送任何数据的唯一方法是,如果我在引号之间写入它。我还将我的javascript文件重命名为name.js.php无效。
我试图阻止的错误是403禁止(crsf令牌)。任何方向都会很棒。谢谢。
编辑:我已经尝试只用一个字符串进行回显,并且工作正常。看来我遇到的问题是:
$this->security->get_csrf_token_name();
$this->security->get_csrf_hash();
无效。
接收:未捕获的SyntaxError:意外的令牌ILLEGAL //“致命错误:当不在对象上下文中时使用$ this”,当我在数据括号之间使用php运行它时。