2015-01-02 3 views
0

Я хочу вставить новую строку в функцию jQuery.Как добавить новую строку в текст функции jQuery()

$.ajax({ 
     url:"http: //192.168.1.4/Experiements/webservices/api.php", 
     type:"GET", 
     dataType:"json", 
     data:{type:"login", UserName:userId,Password:userPassword}, 
     ContentType:"application/json", 
     success: function(response){       
     alert(JSON.stringify(response));         
       var detailsDiv=$("div#details"); 
       var userName=response[0].User.UserName;        
       var ID=response[0].User.Followers; 
       var Email=response[0].User.email; 
       var Dish=response[0].User.Dish;        
      detailsDiv.text("UserName: "+userName+"ID: "+ID+"Email: "+Email+"Dish: "+Dish); 
     }, 

Проверьте следующую строку в коде выше: detailsDiv.text("UserName: "+userName+"ID: "+ID+"Email:"+Email+"Dish: "+Dish); Это дает выход как: UserName: Ravi ID: 123 Email:[email protected] Dish: Indian Dishes

Я хочу выход как

UserName: Ravi 
ID: 123 
Email:[email protected] 
Dish: Indian Dishes 
+1

'detailsDiv.html ("UserName: "+ имя_пользователя +"
ID: "+ ID +"
Электронная почта:" + Email + "
Блюдо:" + тарелка);' –

+0

Возможный дубликат [Как заставить разрыв строки в конкатенированной строке Javascript?] (Http://stackoverflow.com/questions/15357846/how-to-force-a-line-break-on-a-javascript-concatenated -string) – melancia

+1

Вам действительно нужно было показать весь этот код Ajax, чтобы спросить о отображении новых строк? – nnnnnn

ответ

2

Изменение .text в .html и использовать <br> элемент, он вставляет разрыв строки:

detailsDiv.html("UserName: "+userName+"<br>ID: "+ID+"<br>Email: "+Email+"<br>Dish: "+Dish); 
//          ^^   ^^     ^^ 

Если вы пишете XHTML, то <br> тег должен быть закрыт, как этот <br />:

detailsDiv.html("UserName: "+userName+"<br />ID: //... 
+1

Я бы не рекомендовал это решение, потому что использование '$ .html' подразумевает, что символы,« напечатанные »в месте назначения, не будут дезинфицированы, фактически преобразованы в текст. – blint

+0

Итак? Санитируйте, затем добавьте разрывы строк, затем распечатайте. – theonlygusti

+1

Ну, такое решение, как @ Deena's, было бы оптимальным, но с использованием '$ .text' не' $ .html' – blint

1

Вы можете использовать p элементы для примера и append метод:

detailsDiv.append('<p>UserName: ' + userName + '</p>'); 
detailsDiv.append('<p>ID: ' + ID + '</p>'); 
detailsDiv.append('<p>Email: ' + Email + '</p>'); 
detailsDiv.append('<p>Dish: ' + Dish + '</p>'); 
2

Попробуйте это ...

jQuery:

$.ajax({ 
     url:"http: //192.168.1.4/Experiements/webservices/api.php", 
     type:"GET", 
     dataType:"json", 
     data:{type:"login", UserName:userId,Password:userPassword}, 
     ContentType:"application/json", 
     success: function(response){       
     alert(JSON.stringify(response));         
       var detailsDiv=$("div#details"); 
       var userName=response[0].User.UserName;        
       var ID=response[0].User.Followers; 
       var Email=response[0].User.email; 
       var Dish=response[0].User.Dish;        
      $("#username").html(userName); 
      $("#userid").html(ID); 
      $("#email").html(Email); 
      $("#dish").html(Dish); 
     }, 
}); 

HTML:

  <p id="username"></p> 
     <p id="userid"></p> 
     <p id="email"></p> 
     <p id="dish"></p> 
Смежные вопросы