Неожиданный токен <в JSON в позиции 4

var url="http://fsa.citop.in/lnct/service/signProcess.aspx";
var data={txtLogId: "[email protected]",txtLogPass: "xyz",hdnReqType2: "sign87162"};
var success=function(data, textStatus, jqXHR) {
            console.log(data);
         };

var fail=function(jqXHR, textStatus, errorThrown) {
         console.log("Error:" + errorThrown );
     }
$.ajax({
  type: "POST",
  url: url,
  data:data,
  success:success,
  error:fail,

});

Этот запрос POST дает мне ошибку, SyntaxError: Unexpected token < in JSON at position 4, в консоли страницы " http://fsa.citop.in/lnct/ " в chrome.

Но если я использую fsa.citop.in/lnct/service/signProcess.aspx (т.е. нет http://), это не дает мне никакой ошибки, но в данных ничего не возвращается. При success выполнении запроса POST ожидается объект JSON. Пожалуйста, объясните, что здесь происходит и как это можно решить.

Ответ 1

Это, скорее всего, потому, что ответ - это HTML, и он пытается разобрать его как нечто другое. < позиции 4 является первым <!DOCTYPE html...

Вы должны попытаться указать тип данных в вашем АЯКС вызова (см http://api.jquery.com/jquery.ajax/), а также сделать signProcess.aspx вернуть что - то более полезное ( в настоящее время тип содержимого ответа является application/json, но печатает HTML).

Ответ 2

Для тех, кто сталкивается с этой проблемой в редакторе кода AWS Lambda, скорее всего, ваша сессия истекло.

Попробуйте перезагрузить страницу и снова войти в нее. Это должно решить это.