2012-05-11 4 views
2

Когда я сделать следующее JQuery позвонить

$.post('/publish/comments', 
    parms, 
    function(data, textStatus){ 
    console.log('textStatus: ' . textStatus); 
    console.log('returned data: ' . data); 
    console.log('nextPage: ' . data.nextPage); 
    }, 
    "json" 
); 

консоль показывает, что данные, textStatus и data.nextPage все неопределенное.

Но в инструментах разработчика Chrome (вкладка сети) я вижу, что следующие данные JSON проходят с сервера.

{success:true, nextPage: /go/page/requestId/182/src/publish} 
nextPage: "/go/page/requestId/182/src/send" 
success: true 

Мысли?

+9

Объединение строк в JS является '+', не '. '. PHP использует '.' для конкатенации строк, но в JS' .' используется для доступа к свойству объекта. Или что думаете '' nextPage: '. data.nextPage' будет делать? –

ответ

6

Как отметил Феликс concats нужно «+»

Кроме того, я обнаружил, что если вы хотите, чтобы войти весь объект, вы не хотите включать строки внутри вашего console.log().

Попробуйте console.log(data) вместо того, чтобы помещать строки перед ним (например, «данные:»), это гарантирует, что весь объект можно увидеть на консоли.

3

вам нужно Concat с помощью + оператора не ., используемый в PHP

$.post('/publish/comments', 
     parms, 
     function(data, textStatus){ 
          console.log('textStatus: ' + textStatus); 
          console.log('returned data: '+ data); 
          console.log('nextPage: ' + data.nextPage);  
     }, 
     "json" 
     ); 
1

Попробуйте этот код шаблона, чтобы войти в консоль:

console.log(['textStatus', textStatus]); 

Это позволяет напечатать сообщение и объект к консоли.

Тем не менее, 'textStatus: ' . textStatus является undefined, потому что строки JavaScript не имеют свойство textStatus (. является «свойство доступа» оператор не оператор PHP CONCAT)

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