2014-03-12 1 views
0

В настоящее время у меня есть рабочий сервер, который может принимать и отправлять данные на мою веб-страницу HTML. Однако проблема в том, что я не могу инкапсулировать данные и отображать их как текст на моей веб-странице.Отобразить данные ответа сервера сервера на страницу HTML

Это мой HTML основного корпуса, где я хочу данные ответа сервера в Ид = «ответ»:

<div id="content"> 
    <div> 
    <img src="http://i.imgur.com/TMwitub.jpg" alt="" width="740" height="220" /> 
    </div> 
    <div class="boxed" style="height: 35px"> 
    <h1>HOME</h1> 
    <div id="response" style="height: 93px; left: 270px; top: 283px; width: 564px;"> 
    </div> 
    </div> 
</div> 

укажу, что все до функции успеха работы. Мой сервер может получить POST, а также отправить обратно следующие данные в формате JSON:

Response Body:

{ 
    "details": "Log in success", 
    "clientInfo":{ "firstName": "AAA", "lastName": "BBB", "balance" : "9999", } 
} 

Вот мой JS (готовая функция работает --- все работает, просто не отображается ответ):

$(document).ready(function(){ 
      var messageType = "3"; 
      var cookie_name = "username"; 
      var cookie_name2 = "password"; 
      var YouWrote = getName(cookie_name); 
      var YouWrote2 = getName2(cookie_name2); 
      var userName = YouWrote; 
      var password = YouWrote2; 
      auth(messageType, userName, password); 
     }); 



function auth(messageType, userName, password) { 
    $.ajax({ 
      type: "POST", 
      //SEND TO SERVER URL 
      url: "######", 
      dataType: 'json', 
      async: false, 
      data: '{"messageType": "' + messageType + '", 
        "userName": "' + userName + '", 
        "password" : "' + password + '"}', 
      error: function (xhr, error) { 
        alert('Error!'); 
      }, 
      success: function (data, textStatus, jqXHR) { 
       $('#response').html(data.details + '\nHello ' + 
            data.clientInfo.firstName + ' ' + 
            data.clientInfo.lastName + '. \nBalance:' + 
            data.clientInfo.balance); 
       } 
     }) 
    } 

Нужно ли писать CSS для id = ответа? Я так не думаю. Я не могу думать о том, почему он не работает, и был бы признателен за помощь/совет.

+0

Прежде всего, 'async: false' не работает в jquery выше 1.8 и что этот url' ###### '? –

+0

какая ошибка отображается в консоли браузера ??? – suhailvs

+1

Могу ли я узнать, какой серверный язык вы используете (например: python, php, C# ..) – suhailvs

ответ

0

Данные с сервера должны быть строковыми. что-то вроде:

'{ "details": "Log in success", "clientInfo":{ "firstName": "AAA", "lastName": "BBB", "balance" : "9999"} }' 

более того, почему вы используете формат:

data: '{"messageType": "' + messageType + '", 
"userName": "' + userName + '", "password" : 
    "' + password + '"}', 

вместо почему бы вам не использовать:

data: {"messageType": messageType,"userName":userName ,"password" :password}, 
+0

Это не проблема. Я просто отлаживал. Проблема заключается в том, что имя пользователя и пароль не определены. – lancethestudent

+0

hmm ... каждый раз, когда вы должны сначала проверить с помощью консоли браузера для ajax-файлов ... :) @lancethestudent – suhailvs

+0

Я думаю, что я собираюсь закрыть это, потому что вопрос, который я задал, даже недействителен. Thx для помощи tho. – lancethestudent

0

К сожалению я буду считать, что ваша сторона сервер находится в PHP.

Имеется ли ваш ответный заголовок с сервера в JSON?

header('Content-Type: application/json'); 

Кроме того, ваша серверная часть кодирует ваши данные в json или вы просто эхо отзываете?

Как этого

echo json_encode($your_data); 

Remove асинхронной ложь тоже.

Смежные вопросы