web-dev-qa-db-ja.com

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/ 'クロムで。

ただし、fsa.citop.in/lnct/service/signProcess.aspx(つまり、http://を使用しない)を使用すると、エラーは発生しませんが、データには何も戻りません。 POST要求のsuccessで、JSONオブジェクトが必要です。ここで何が起こっているのか、どのように解決できるのかを誰かに説明してください。

13
Himanshu Singh

これは、応答がHTMLであり、それを他の何かとして解析しようとしているためです。位置4の<は、<!DOCTYPE html...の最初の<です。

Ajax呼び出しでdataTypeを指定して( http://api.jquery.com/jquery.ajax/ を参照)、signProcess.aspxを使用してより有用なもの(現在は応答コンテンツタイプはapplication/jsonですが、HTMLを出力します)。

13
Gabriel

AWS Lambdaコードエディターでこの問題が発生した場合、セッションがタイムアウトした可能性があります。

ページをリロードしてもう一度サインインしてみてください。これは解決するはずです。

14
David Salamon