在警告窗口新行jQuery jqXHR responseText



我目前通过jQuery请求一些php页面上的文本。问题是新的行符号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;1140n$free_connection= falsen$free_coffee= falsen$rating= -1n$lat= 44.715513732021336n$lng= 1.9775390625n

当我这样做时,新行不起作用:

alert(jqXHR.responseText);
所以为了调试,我决定将php响应字符串(这是之前的字符串)直接粘贴在alert()函数中,在这种情况下,新行WORK:
 alert("Some fields are empty!n$name= n$schedule= 480;1140;480;1140;480;1140;480;1140;480;1140;480;1140;480;1140n$free_connection= falsen$free_coffee= falsen$rating= -1n$lat= 44.715513732021336n$lng= 1.9775390625n)");

字符串完全相同,但是当我使用jqXHR获取它时,新的行不能工作。有人知道吗?

EDIT: 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;

你用错引号了。在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", function( data ) {
  var items = [];
  $.each( data, function( key, val ) {
    items.push( "<li id='" + key + "'>" + val + "</li>" );
  });
  $( "<ul/>", {
    "class": "my-new-list",
    html: items.join( "" )
  }).appendTo( "body" );
});

最新更新