简体   繁体   中英

Unexpected token < in JSON at position 4

var url="http://fsa.citop.in/lnct/service/signProcess.aspx";
var data={txtLogId: "abc@xyz.com",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,

});

This POST request gives me the error, SyntaxError: Unexpected token < in JSON at position 4 , in the console of the page ' http://fsa.citop.in/lnct/ ' in chrome.

But if I use fsa.citop.in/lnct/service/signProcess.aspx (ie no http://), it gives me no error, but nothing comes back in data. On success of POST request, a JSON object is expected. Please somebody explain what is happening here and how it could be resolved.

For those who encounter this problem in AWS Lambda code editor it is most likely your session has timed out.

Try reloading the page and signing in again. It should resolve this.

It's most likely because the response is HTML and it's trying to parse it as something else. The < at position 4 is the first < of <!DOCTYPE html... .

You should try to specify dataType in your ajax call (see http://api.jquery.com/jquery.ajax/ ) and also make signProcess.aspx to return something more useful (currently the response content type is application/json but it prints HTML).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM