2013-05-07 3 views
0

Я пытаюсь сделать частичное вызов функции ajax и отобразить его в div.Оказание частичного ответа ajax и json

В приведенном ниже коде request.responseText дает мне html, который я хочу, но почему этот ответ переходит в функцию ошибки, а не успех? Кажется довольно простым, но я что-то пропустил. код состояния после ответа «200 OK» в Хроме инспектировать элемент

расслоения плотной код:

$.ajax({ 
     url: "/upload/get_detail.json", 
      type: "POST", 
      dataType: "json", 
      data: { id: id }, 
      success: function(result) { 
       $('.some-label').html(result); 
      }, 
      error: function (request, status, error) { 
       alert(request.responseText); 
      } 
     }).done(function() { 
      //some code 
     }); 

контроллер:

def get_detail 
    @logs = Detail.where('category_id = ?', params[:id].to_i).limit(20) 
    render :partial => "/category/detail", :layout=> false 
    end 
+1

Как выглядит responseText? – cfs

+2

Скорее всего, ваш * "html" * не json. –

+0

Это HTML. На самом деле, хороший вопрос, потому что я забыл включить важную часть, ошибку: 'Неожиданный токен <' – tostasqb

ответ

2

Вы отправляете HTML с сервера, но вы настроили ваш jQuery.ajax звоните, чтобы ожидать JSON. Измените свойство dataType на html, и оно должно работать.

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