问一个JQ.Ajax()的问题,希望大牛们帮助帮助。
_post:function(){
var _answer=$("dt_join_form_answer").value;
if(_._trim(_answer)==""){
_toast._show("请输入你的评论");
return;
}
if(_._len(_answer)>300){
_toast._show("标题请在150个字以内")
return;
}
//从这里开始
$.ajax({
type: "post",
url : "__URL__/Addanswer", //thinkPHP框架地址表达方式
dataType:'json',
data: 'answer='+_answer+'&vid='+'{$info.vid}',
success: function(){
alert("评论成功!");
$("dt_join_form_answer").val("");
}
});
},
就是执行不成功..本人JQ了解有限,希望大牛们看看。我哪里写错了。
------解决方案--------------------这么简单的都不会???
其实我也不会围观!
------解决方案--------------------$("dt_join_form_answer")
$("dt_join_form_answer")
是不是漏了一点东西。
$("#dt_join_form_answer") $(".dt_join_form_answer")
------解决方案--------------------dataType:'json',
data: {answer:_answer,vid:'{$info.vid}'},
------解决方案--------------------同意5楼,你是post方式,传参不是像get方式一样拼接在url,如:
data:{ param1:value,
param2:value}
------解决方案--------------------你可以加入error事件,看是否出现了错误,而没有走进succes方法
其实像这种在浏览器的开发人员工具(F12),可以检测网络状态,post/get提交方式及其返回值,一目了然,是路径不对,还是提交参数不对等等,都可以展现出来
------解决方案--------------------信息太少了。有firebug么。先看有没有错误提示。然后打点log
如_post:function(){
console.debug("post in");
var _answer=$("dt_join_form_answer").value;
//似乎应该是var _answer=$("dt_join_form_answer").val();??
console.debug("ans"+_answer);
})
然后打log看是否进入了ajax块,error的事件也要捕获。
------解决方案--------------------$.ajax(都出来了,说明:$("dt_join_form_answer").value和$("dt_join_form_answer").val("");都是错误的!
使用了thinkPHP框架所以data必定是错误的:data: 'answer='+_answer+'&vid='+'{$info.vid}',因为经php解析{$info.vid}会得到真实的值,而这不是js变量。应该写:
data: 'answer='+_answer+'&vid={$info.vid}',