本帖最后由 lhl2lhf3 于 2011-06-16 21:54:53 编辑

解决方案 »

  1.   

    这个问题我以前遇到过,最后解决了,问题不是在于ajax,而是你的js里有错误,导致ajax工作不正常,而且还不报告js错误.
    所以请仔细查看一下你的js哪里写错了.
      

  2.   

    你可以用屏蔽法找出问题来,把那些与该ajax操作无关的js代码一行一行的逐步注释掉,然后不断刷新浏览器测试,一会你就能找出是哪里的代码写错了.
      

  3.   

    同样的ajax函数在其他地方用的时候正常吗?
    你把其他地方能够正常使用的代码拿到这里来试试正常吗?
    可能被鬼打墙了
      

  4.   

    正常啊。。这段就是:用的好好的,但是到黄色区域里面的提交数据以后,一点击,就跳转了。。  function show(id){
            var url = '<{$app}>/twitter/showreply/id/'+id;        if($("#a_"+id).html().length > 0 ){
                 $("#a_"+id).html('');
            }else{
                 $.get(url,function(data){
                    $("#a_"+id).html(data);
                 })
            }        
        };
      

  5.   

    //用get方法發送數據到test.php,同時傳遞兩個參數,回調函數顯示服務器的輸出內容,php端用$_POST["name"]取得參數
    $.ajax({
    type:"get",url:"test.php",
    data:"name=風景&location=Boston",
    success:function(msg){
    alert(msg);
    }
    });试试这个方法
      

  6.   

    注视的错误,修改了一下,你试过吗,行吗//用get方法發送數據到test.php,同時傳遞兩個參數,回調函數顯示服務器的輸出內容,php端用$_GET["name"]取得參數
    $.ajax({
    type:"get",url:"test.php",
    data:"name=風景&location=Boston",
    success:function(msg){
    alert(msg);
    }
    });-------------------//用post方法發送數據到test.php,同時傳遞兩個參數,回調函數顯示服務器的輸出內容,php端用$_POST["name"]取得參數
    $.ajax({
    type:"POST",url:"test.php",
    data:"name=風景&location=Boston",
    success:function(msg){
    alert(msg);
    }
    });
      

  7.   


     $.get(url,function(data){
                alert(data);
                $("ul").html(data);
            })
    替换成
    $.ajax({
    type:"get",url:url,
    success:function(msg){
                alert(msg);
                $("ul").html(msg);
    }
    });
      

  8.   

    照样跳,没经过你发的那个函数。好像$.get()方法根本没有执行到。。
      

  9.   

    我把部分代码修改了一下,你用我的代码试试<span id="reply"><a href="#" onclick="$.show(<{$data[ls].tid}>)">回复(<{$data[ls].replynum}>)</a></span>
    <div style="background:yellow;margin-top:10px;" id="a_<{$data[ls].tid}>"></div>ajax是:
    <script>
    (function($){
        $.show = function(id){
            var url = '<{$app}>/twitter/showreply/id/'+id;
    alert(url);//看看這裡是否執行        if($("#a_"+id).html().length > 0 ){
    alert('111');//看看這裡是否執行
                 $("#a_"+id).html('');
            }else{
    alert('222');//看看這裡是否執行
                 $.get(url,function(data){
                    $("#a_"+id).html(data);
                 })
            }        
        };
    })(jQuery)
    </script>
      

  10.   

    这一部分的代码是没有问题的,可以执行。。就是模板里面的那个 ajax,不能执行。。代码是这块~~
    <script src="<{$root}>/public/js/jquery.js"></script>
    <script>
        function show1(id){
            var url = '<{$app}>/twitter/showreply/id/'+id;
            alert(url);
             $.get(url,function(data){
                alert(data);
                $("ul").html(data);
            })
        }
    </script><ul>
        <{section loop=$data name="ls"}>
            <li>
                <input type="hidden" name="tid" value="<{$data[ls].tid}>">
                #######<{$data[ls].content}>######
            </li>
        <{/section}>
    </ul><form action="<{$url}>/insertreply/id/<{$id}>" method="post">
        <div><textarea cols="60" rows="2" name="content"></textarea></div>
        <div>
            <input type="hidden" name="name" value="<{$smarty.session.username}>">
            <center><input type="submit" onclick="show1(<{$id}>)" name="sub" value="提交"></center>
        </div>
    </form>
      

  11.   

    1、
    <a href="javascript:show(<{$data[ls].tid}>)">回复
    你使用 a 标记提交,这必然导致打开新窗口
    正确的写法是
    <a href="javascript:void(null)" onclick="show(<{$data[ls].tid}>)">回复

    <a href="#" onclick="show(<{$data[ls].tid}>)">回复
    其实直接使用按钮更好,也不必再伪装成按钮了
    <iuput type=button onclick="show(<{$data[ls].tid}>)" value=回复>2、你的模板引擎是什么?看上去像是 Smarty 
    如果是,那么默认是不处理 JavaScript 标记中的模板元素的