1. ホーム
  2. javascript

[解決済み] JSON の位置 4 に予期しないトークン < があります。

2022-02-03 11:31:10

質問

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://) では、エラーは出ませんが、データには何も戻ってきません。そのため success のPOSTリクエストでは、JSONオブジェクトが期待されます。どなたか、ここで何が起こっているのか、どうすれば解決できるのかを説明してください。

解決方法は?

レスポンスがHTMLであり、それを何か別のものとして解析しようとしていることが原因である可能性が高いです。その < の最初の < です。 <!DOCTYPE html... .

ajax呼び出しでdataTypeを指定するようにしてください( http://api.jquery.com/jquery.ajax/ を作成し、さらに signProcess.aspx を使用して、より有用なものを返します (現在、レスポンスのコンテンツタイプは application/json が、HTMLを出力してしまう)。