2016-09-26 5 views
0

jQuery(checkFilesProcess()を継承する必要がないパラメータ)を持つすべてのページにajaxを使用します。エラーメッセージが表示Ajax処理で「無効なJSONプリミティブ:undefiend」

コード:

$.ajax({ 
     type: "POST", 
     url: "pgLoadFile.aspx/checkFilesProcess", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (data) { 
      if (data.d != "" && data.d != undefined) { 
       if (data.d == "0") { 
        $("#showCheckFileFailMessage").show("slow"); 
       } 
       else { 
        $("#showCheckFileSuccessMessage").show("slow"); 
        $("#trLoadFile").show("slow"); 
       } 
      } 
      else $("#showCheckFileFailMessage").show("slow"); 
     }, 
     error: function (ts) { 
      alert(ts.responseText) 
      $("#showCheckFileFailMessage").show("slow"); 
     }, 
     timeout: 60000 
    }); 

エラー: enter image description here

+1

「データ」はどこですか?あなたのバックエンドがPOSTリクエスト本体にいくつかのJSONを期待しているように見えますが、あなたは – Phil

+0

も送信していないようです。また、結果のプレースホルダ "data"にajaxパラメータ以外の名前を付けるべきです。結果*はかなり一般的です。 – FirebladeDan

+0

@FirebladeDanあなたが何を言っているのか分かりません。コールバック関数で使用される変数名は重要ではありません – Phil

答えて

0

あなたのAJAX要求がデータ属性を持っていません。データのペイロードを追加します。空の値を指定しない場合は、

$.ajax({ 
    type: "POST", 
    url: "pgLoadFile.aspx/checkFilesProcess", 
    contentType: "application/json; charset=utf-8", 
    data: JSON.stringify(someData), 
    dataType: "json", 
    success: function (data) { 
     if (data.d != "" && data.d != undefined) { 
      if (data.d == "0") { 
       $("#showCheckFileFailMessage").show("slow"); 
      } 
      else { 
       $("#showCheckFileSuccessMessage").show("slow"); 
       $("#trLoadFile").show("slow"); 
      } 
     } 
     else $("#showCheckFileFailMessage").show("slow"); 
    }, 
    error: function (ts) { 
     alert(ts.responseText) 
     $("#showCheckFileFailMessage").show("slow"); 
    }, 
    timeout: 60000 
}); 
関連する問題