日期:2014-05-16  浏览次数:20597 次

问一个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}',