2016-08-15 8 views
0

jQuery $ .ajax関数を使用してデータをPHPファイルにPOSTしようとしましたが、応答を返します。私は過去に似たようなことをしてきたので、私はどこにいるのか分からない。AJAXからのデータの返却に失敗しましたが、約束は発生しません

$ .ajax関数にDONE、FAIL、THEN、ALWAYSの約束事を添付しました。それぞれに警告があり、警告は発生しません。関連するJavaScriptがここにあります。

$.ajax({ 
     url: "processingForm.php", 
     dataType: "json", 
     type: "POST", 
     data: { theFullData: JSON.stringify(postData) }, 
    success: function (obj, textstatus) { 
     alert("Woo"); 
    }, 
    error: function (err) { 
     alert("Error"); 
    } 
    }) 
    .done(function (res) { 
     alert(res); 
    }) 
    .fail(function (res) { 
     alert("fail"); 
    }) 
    .then(function (res) { 
     alert("then"); 
    }) 
    .always(function() { 
     alert("complete"); 
    }); 

私のPHPファイルでは、JSONデータが解析され、結局文字列がデータベースに挿入されます。この文字列は、時間の約75%でデータベースに正しく書き込まれます。私はLOGテーブルに書かれたものは見たことがないので、おそらく別の投稿の問題です。

$outp = array(); 
     $sql = (string)('INSERT INTO PBP_O (POST_DATA) values ("' . $str . '")'); 
     mysqli_query($conn, $sql); 


     //ERROR Logging 
     $err = mysqli_error($conn); 

$sql = (string)('INSERT INTO LOG (ERROR) values ("Hi")'); 
mysqli_query($conn, $sql); 


     if($err != ""){ 
      mysqli_close($conn); 

      echo "Sorry"; 
     } 
     else{ 

$sql = (string)('INSERT INTO LOG (ERROR) values ("Way down here")'); 
mysqli_query($conn, $sql); 

      $result = mysqli_query($conn, "SELECT LAST_INSERT_ID() LID"); 

      if (mysqli_num_rows($result) > 0) { 
       while($row = mysqli_fetch_assoc($result)) { 
        $outp["LID"] = $row["LID"]; 
       } 
      } else { 
       echo "Sorry"; 
      } 
     } 

$sql = (string)('INSERT INTO LOG (ERROR) values ("'.$outp["LID"].'")'); 
mysqli_query($conn, $sql); 

     mysqli_close($conn); 
     echo json_encode($outp); 

私が間違っていることを知っている人は誰でも、非常に感謝しています。見るのに役立つコードの他の部分がある場合はお知らせください。送信されたJSONが既に有効であることを確認しました。

EDIT
が.post $でした()潜在的に私のために何かをするというのが私の現在のAJAXではないでしょうか?私はそれがなぜ起こるのかわかりませんが、もう一度私のコードのバグは見えません。



EDIT 2

私はそれが(編集した部分が左側に最も遠い)今あるものに私のPHPコードを更新しました。また、AJAXにSUCCESSコールバックとERRORコールバックを追加しました。基本的に私はLOGテーブルを使って、私がどこにいるべきかを確認しています。そのPHPコード内のすべての単一の挿入は、私がAJAXによって捕捉されるようにエコーしているデータを含め、正常に挿入されます。私は通常それが最後まで走っていることを意味するために取るでしょう。

サイドノート、私はVisual Studioを使用しています。デバッグにIEを使用していたとき、AJAXコールバック内のアラートは起動しませんでした。私はChromeに切り替えて、キャッチして火をつけた。

Chrome>ネットワークツールには2つのエントリがあります。まず、processing.phpへの呼び出しが赤でした。私は今、自分自身をリロードするだけのページで実現GETリクエストのスタイルでページ上のすべての変数が続くのindex.html?yearsGroup1 = 2016 & yearsGroup2 = 2016年までの2回目の呼び出し...は、[ありましたSUBMITの後に]。私はAJAXでERRを検査する際

は最後に、 - > ERRORコールバック、私は見た:

Object {readyState: 0, responseJSON: undefined, status: 0, statusText: "error"} 

私はここから行くにはどこすぎてわかりません。だから私は別のフォルダに上で、私のコードを転送何らかの理由のため

+1

多分あなたは 'success:function(data){ alert( 'Success' + data); } ' – FreezY

+0

@FreezY申し訳ありませんが、それに運がありません。私は入力を感謝します。 – mju516

+0

ここで私を助けなければならないでしょう。具体的に何が期待どおりに機能していないのですか? – WillardSolutions

答えて

0

は、非破壊警告が表示されるように開始しました:

警告:不明なプロパティへのアクセスは、ライン上不明ではまだ許可されていません

どの時点で自分の頭をモニターに置きますか。 PSA:私のような馬鹿ではない、常にPHPの余分な時間をチェックしてください。

私の一般的な無能さにあなたの時間を浪費することについてこれをコメントしたすべての人にお詫び申し上げます。あなたのお手伝いをもう一度お願いします。

関連する問題