想用jquery处理一个链接,处理完某一语句再链接到另一个页面,要blank跳出页面。

解决方案 »

  1.   


    <script type="text/javascript">
    function delenew(nid) {
     var ac=  '{"inid":"'+nid+'"};';
      $.ajax({
                       type: "POST",
                       url: $("#serverUrl").val(),
                        data: ac,
                       beforeSend:function(xhr) {
                                    xhr.setRequestHeader("X-AjaxPro-Method", "intentions");                        
                                  },              
                       success: function(response) {
                                     
                                        var v=null;
                                      eval("v = " + response + ";");
                                                                
                                  
                                 if (v.value>0)
                                 {   
                                
                            window.location.href ="../index.aspx?id="+v.value;
                                  }
                                  }
                     });
    }   
               
    </script><div onclick="JavaScript:delenew('2');">试一试</div>
                      
      

  2.   

    楼主你应该用window.open来实现跳出本页面操作
      

  3.   

    是不是动态页出错了没有执行到success回调,你增加error试试
    function delenew(nid) {
     var ac=  '{"inid":"'+nid+'"};';
      $.ajax({
                       type: "POST",
                       url: $("#serverUrl").val(),
                        data: ac,
                       beforeSend:function(xhr) {
                                    xhr.setRequestHeader("X-AjaxPro-Method", "intentions");                        
                                  },   
                       error:function(){alert('发生错误');},//////           
                       success: function(response) {
                                     
                                        var v=null;
                                      eval("v = " + response + ";");
                                                                
                                  
                                 if (v.value>0)
                                 {   
                                
                            window.location.href ="../index.aspx?id="+v.value;
                                  }
                                  }
                     });
    }   
      

  4.   

    可以改为用a链接触发,设置target="_blank",ajax发送请求为同步执行,而不是异步<script type="text/javascript">
        function delenew(nid,a) {
            var ac = '{"inid":"' + nid + '"};'
            ,ok=false;
            $.ajax({
                type: "POST",
                async: false, ///////////////
                url:$("#serverUrl").val(),
                data: ac,
                beforeSend: function (xhr) {
                    xhr.setRequestHeader("X-AjaxPro-Method", "intentions");
                },
                success: function (response) {                var v = null;
                    eval("v = " + response + ";");
                    if (v.value > 0) {
                        ok = true;//////////
                        a.href = "../index.aspx?id=" + v.value; //////////
                    }
                }
            });
            return ok;/////////////根据ok的值决定是否执行链接
        }   
               
    </script>
    <a target="_blank"  href="#" onclick="return delenew('2',this);">弹出连接前先执行ajax操作,需要设置为同步</a>
      

  5.   

    ajax 同步执行!   添加      async:false 试试用户点击按钮,open 通常不会被浏览器拦截如果是异步的,回调函数中,open,浏览器会认为非用户点击。被拦截的几率很高