Javascript 带有jQuery jqXHR responseText的警报窗口中的新行

Javascript 带有jQuery jqXHR responseText的警报窗口中的新行,javascript,php,jquery,string,alert,Javascript,Php,Jquery,String,Alert,我目前正在通过php页面上的jQuery请求一些文本。问题是新行符号\n显示在警报窗口中,不会被解释为新行。我在任何时候都不会逃逸字符串。 在jQuery请求的error:function(..)块中,我通过jqXHR.responseText获取php返回的字符串,下面是它的确切值: Some fields are empty!\n$name= \n$schedule= 480;1140;480;1140;480;1140;480;1140;480;1140;480;1140;480;1140

我目前正在通过php页面上的jQuery请求一些文本。问题是新行符号
\n
显示在警报窗口中,不会被解释为新行。我在任何时候都不会逃逸字符串。
在jQuery请求的
error:function(..)
块中,我通过
jqXHR.responseText
获取php返回的字符串,下面是它的确切值:

Some fields are empty!\n$name= \n$schedule= 480;1140;480;1140;480;1140;480;1140;480;1140;480;1140;480;1140\n$free_connection= false\n$free_coffee= false\n$rating= -1\n$lat= 44.715513732021336\n$lng= 1.9775390625\n
当我这样做时,新行不起作用:

alert(jqXHR.responseText);
因此为了调试,我决定将php响应字符串(这是以前的字符串)直接粘贴到
alert()
函数中,在本例中,新行起作用

 alert("Some fields are empty!\n$name= \n$schedule= 480;1140;480;1140;480;1140;480;1140;480;1140;480;1140;480;1140\n$free_connection= false\n$free_coffee= false\n$rating= -1\n$lat= 44.715513732021336\n$lng= 1.9775390625\n)");
字符串完全相同,但是当我使用jqXHR获取它时,新行不起作用。 有人有线索吗

编辑:生成字符串的php代码:

$errorMessage = 'Some fields are empty!' . '\n'
              . '$name= '               . $name . '\n'
              . '$schedule= '           . $schedule . '\n'
              . '$free_connection= '    . $free_connection . '\n'
              . '$free_coffee= '        . $free_coffee . '\n'
              . '$rating= '             . $rating . '\n'
              . '$lat= '                . $lat . '\n'
              . '$lng= '                . $lng . '\n';
echo $errorMessage;

我不知道我是否理解得很好,但你可以试试

$.ajax({
  dataType: "json",
  url: url,
  data: data,
  success: success
});

$.getJSON(“ajax/test.json”,函数(数据){
var项目=[];
$。每个(数据、函数(键、值){
items.push(“
  • ”+val+“
  • ”); }); $(“
      ”{ “类”:“我的新列表”, html:items.join(“”) }).附于(“主体”); });
    您使用了错误的引号类型。在PHP中,转义序列不在单引号中处理,只在双引号中处理。因此,它应该是:

    $errorMessage = 'Some fields are empty!' . "\n"
                  . '$name= '               . $name . "\n"
                  . '$schedule= '           . $schedule . "\n"
                  . '$free_connection= '    . $free_connection . "\n"
                  . '$free_coffee= '        . $free_coffee . "\n"
                  . '$rating= '             . $rating . "\n"
                  . '$lat= '                . $lat . "\n"
                  . '$lng= '                . $lng . "\n";
    echo $errorMessage;
    

    您是否尝试过
    console.log(jQuery.parseJSON(jqXHR.responseText))
    以查看实际情况?我刚刚尝试过,该值正是我引用的值:
    某些字段为空\n$name=\n$schedule=480;1140;480;1140;480;1140;480;1140;480;1140;480;1140;480;1140\n$free\u connection=false\n$free\u coffee=false\n$rating=-1\n$lat=44.902577996288876\n$lng=3.4716796875\n
    @VickyGonsalves我无法将响应发送到jQuery请求的php服务器在本地主机上听起来响应中包含文字
    \n
    ,而不是换行符。你能展示一下你用来创建response@Barmar你说得对!我使用了“\n”而不是“\n”(双引号)。现在它工作了,你可以给我的问题写一个答案,我会接受的:P
    $errorMessage = 'Some fields are empty!' . "\n"
                  . '$name= '               . $name . "\n"
                  . '$schedule= '           . $schedule . "\n"
                  . '$free_connection= '    . $free_connection . "\n"
                  . '$free_coffee= '        . $free_coffee . "\n"
                  . '$rating= '             . $rating . "\n"
                  . '$lat= '                . $lat . "\n"
                  . '$lng= '                . $lng . "\n";
    echo $errorMessage;