2011-12-21 17 views
1

私は今、ExtJSで時間を掛けていますが、フォームの送信に問題はありませんでした。しかし今、phpファイルへのPOST呼び出しを行っていないフォームがあります。そして、私の失敗を返す。ExtJSでフォームを送信すると奇妙な問題が発生する

私はいつもフォーム送信にこの「テンプレート」を使用していますが、失敗したことはありません。私は何が起こっているのか分からないが、彼はPOSTを決してしないし、失敗機能 "onFormSaveFailure"にジャンプする。私はURLと何も変えていない。私は何をすべきか分からず、私はちょっと急いでいる。助けてください。

答えて

1

多くのことが起こっている可能性があります。それをさらにデバッグする必要があります。これは私がやるべきステップです:

    URLが有効であることを確認してください。私は私の要求を見るために、フィドラー(または同様のプログラム)を使用します。送信しようとしているURLが有効であることを確認してください。あなたのURLに相対パスを使用している可能性がある問題は、現在のURLをコンテキストとして使用することです。

  1. PHPファイルがヒットしていることを確認してください(ブレークポイント、printステートメント...)。

  2. PHPファイルがクラッシュしていないことを確認してください。サーバー側からスローされた例外は、失敗機能が呼び出される原因になります。

  3. PHPファイルが成功を示しているかどうかを確認してください。返すJSON文字列に{success:false}がある場合、リクエストは失敗したものとみなされます。

  4. this.onFormSaveFailure関数は、 "form"と "action"の2つのパラメータを取ります。 "action"オブジェクトは "failureType"を持ち、JavaScriptデバッガを使用して値を調べます。

+0

ajax呼び出しはPOSTをPHPファイルにしていません。ファイルが存在しなくても電話をかけることができますので、私は確信しています。奇妙なことは、Ajaxコールを作成するが、ファイルがロードされていないことで、失敗機能にジャンプするということです。 – daniel

+0

JavaScriptデバッガーはありますか?障害機能内の障害タイプは何ですか? – Chao

+0

それはJavaScriptの例外を作成しません。サーバーサイドコードが "success:false"を返すかのように、Ajaxの失敗機能にジャンプします。フォームを送信する際に問題が発生した場合は、次のようにジャンプします。else {Ext.MessageBox.alert( 'Error!'、this.msgs.errorsInForm); } – daniel

関連する問題