在使用JQUERY的时候,测试耍的时候,遇到这样的情况
在test.html当中
  $(function(){
       alert("aa\nbb");  //这里能正常换行
       $.post(
          "Default.aspx",
          function(response){
              alert(response);  //这里输出的就是"aa\nbb"
          }
      )
  })在Defualt.aspx的page_load方法当中response.write("aa\nbb");   //这里测试的时候,还用\\n测试,\r,<br />都没有换行效果。
response.end();实在搞不懂,发贴解惑。你们也可以测试下,很简单的程序,搞不懂。

解决方案 »

  1.   

    alert("aa\\nbb"); //这样也不行?
      

  2.   

    alert(typeof response);看是什么
      

  3.   

    这样的话,在页面alert还是没换行
      

  4.   

    <input type="submit" text="aaa" onmouseover="window.alert( '对不起,\n第二行需要换行了!')">
      

  5.   

    我测试了,服务器端写
    Response.ClearContent();
    Response.Write("aaa\r\nbbb");
    Response.End();是可以换行的
      

  6.   

    完整的测试代码如下,你可以照着做
    a.htm
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
        <script>
          $(function () {
            $.post(
              "Default.aspx",
              function (response) {
                alert(response);  //这里输出的就是"aa\nbb"
              }
          )
          })
        </script>
    </head>
    <body></body>
    </html>
    Default.aspx.cs
    using System;
    using System.Collections.Generic;using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    Response.ClearContent();
    Response.Write("aaa\r\nbbb");
    Response.End();
        }
    }
      

  7.   

    这是我的测试代码。。
    a.html
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>
        <script type="text/javascript">
            $.post(
                "other.aspx",
                function (response) {
                    alert(response);
                }
            )
        </script>
    </head>
    <body></body>
    </html>后台是vb.net,没有任何引入
    Partial Class _Default
        Inherits System.Web.UI.Page    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Response.ClearContent()
            Response.Write("aa\r\nbb")
            Response.End()
        End Sub
    End Class
    问题依然。
      

  8.   

    我还是这样写的,唯一不同的,就是后台是vb.net
    开始还以为是Response.ClearContent()的问题,加上问题依旧。
    我在VS2010下测试!
    开始的时候,是有其他代码,我以为有影响,就重新写了个,还是这样。。
      

  9.   

    就是后台是vb.net
    你早点写清楚。vb.net
    Response.Write("aa"+ Environment.NewLine +"bb")
      

  10.   

    谢谢你,当时也没有考虑到是这个问题!
    Response.Write("aa"+ Environment.NewLine +"bb"),可以正常换行了。
    还是学习了很多。。
      

  11.   

    本帖最后由 net_lover 于 2010-08-12 09:01:24 编辑
      

  12.   


    刚才上网,看到vb.net里面换行 vbCrlf,也可以
    Response.Write("aa" + vbCrlf + "bb")
     
      

  13.   

    表示也遇到了同样的问题
    正常情况下无法弹出,肯定是页面出错
    根据提示发现alert('aa
    bb);
    这样的形式
    原因后台写'aa\nbb'后,以流形式吐到页面,过程中\n解析成文件格式的换行形式;
    所以写入时应为'aa\r\nbb'