2012-01-14 11 views
5

$ .PostのURLをチェックしました。私も接続紐をチェックしました。 1つの$ .postコマンドを除いて、$ .ajaxコマンドを含むすべての機能がWebサイト全体でうまく機能します。私は "レコードを保存中にエラー"メッセージを取得し続ける。私が持っている

コードがあることjqueryのダイアログボックスの[保存]ボタン上:

var post = $.post(url, 
         $("#myview").serialize(), 
         function() { 
          thisDialog.dialog("close"); 
         }); 
         post.error(function (xhr, ajaxOptions, thrownError) { 
      alert("Error while saving the record"); 

私がデバッグモードで実行したときに、このインスタンスVSローカルで動作しますが、私はIIS 7.5にWebサイトを展開するとき、それは実行されません。 。誰かが問題の内容を教えてくれますか?すべてのDLLが存在している、URLがあまりにも

URLは罰金です:ホーム/これはしかし、VSで動作

[HttpPost] 
    public ActionResult Start(StartModel model, FormCollection collection) 
      { 
       try 
       { 
        Service.Create(model); 
        return RedirectToAction("List"); 
       } 

を起動していない私は、エラーコード500

スタックトレースを取得

IIS 7.5にエラーメッセージ:SqlDateTimeがオーバーフローします。 1/1/1753 12:00:00 AMと12/31/9999の間11:59:59 PM

jquery dateコントロールを使用して日付の値を設定しています。どのような指導は感謝しています。

+0

どのように最終的にそれを解決しました!私は同じ問題を抱えています。謎は、VS上で動作しています。あるいは、奇妙なonClickボタン(日付ピッカー値が渡されます)ではなく、datepicker変更イベントではありません! – sepehr

答えて

0

詳細情報なしここでは暗闇の中で撮影していますが、実際には/bob/fredなどの相対URLを使用している可能性があり、サーバーはローカルアプリケーションとは異なるファイル構造を持っている可能性があります。

あなたのアプリは、次のような構造であると仮定します:、

/bob/fred <- the directory you're accessing in the $.post call 
/jim/index.aspx <- the page you're calling $.post in 

そして、あなたは、サーバーのファイル構造の上に置く、アプリケーションのルートから、このようなものです:

/site/bob/fred 
/site/jim/index.aspx 

VS 2010を通じてアプリを実行する場合、これは正しいでしょう。ただし、サーバー上では別のURLが必要です。

次のステップでは、Firebugを使用して$ .post呼び出しをチェックする必要があります。404が表示されているかどうかを確認してください。そうでない場合は、さらにコードを投稿してください。

+0

あなたが言う前に、あなたはあなたがURLをチェックしたと言っていただければ幸いですが、チェックして、あなたが404応答を得ていないことを確認したことを意味しますか? – ClarkeyBoy

+0

私は相対パスを使用していますが、ダイアログボックスにも相対的なURLが表示されているので、私は推測しています。問題を引き起こすのはその唯一のセーブですか?しかし、あなたは良い点を持っています。あなたは私がテストするために何をすることができると思いますか? – InfoLearner

+0

Firebug(Firefox用、またはDragonfly for Opera用、またはChrome用の組み込み開発ツールを使用)をダウンロードして、保存ボタンをクリックしたときの反応を確認してください。 Chrome/Operaで、ページを右クリックして[要素の検査]をクリックします。次に、画面の下部にある[ネットワーク]タブに移動します。 Firefoxでは、ページを右クリックして 'Inspect Element'に行き、Netタブをクリックしてページを更新します。 – ClarkeyBoy

1

あなたのナビゲータの開発ツールからhttpリクエストを取得しようとしましたか?リクエストが表示され、サーバーからの応答は何ですか?

1

customErrorsモードを「off」(web.config内)に設定し、firebugで応答を調べると、サーバーからniceスタックトレースが返されるはずです。

try 
{ 
// your code here 
} 
catch(Exception ex) 
{ 
throw; 
} 

(;その方法は、あなたがスタックトレースを失うことになるので、あなたが投げるEXを行っていないことを確認してください):ちょうど(あなたが投稿していなかった)あなたのcatchブロックがどのように見えることを確認してください。

そこから続けることができます。

盲目的な推測として、それは起こるかもしれません: 1. Service.Create(モデル); (おそらく、あなたはそのマシンから "Service"にアクセスすることはできません)、または 2。あなたがあまりにも多くのデータを掲載していることが起こるので、しかし、あなたのスタックトレースを知っておくと便利だろう

<configuration> 
    <system.web> 
     <httpRuntime maxRequestLength="102400" executionTimeout="1200" /> 
    </system.web> 
</configuration> 

に増加maxRequest長を試してみてください。

+0

素晴らしい答えを確認することができるように質問を更新するつもりです。カスタムエラーオフに次のエラーメッセージが表示されました。SqlDateTimeがオーバーフローしました。 1/1/1753 12:00:00 AMと12/31/9999 11:59:59 PMの間にある必要がありますが、問題はVSで動作し、IISでは動作しないことです。私は値= 1/2/2011 jqueryカレンダーコントロールを使用して設定しています – InfoLearner

+0

ローカルでは、デバッグで日時の値をチェックして、それはあなたのローカルコピーでも、渡されませんが起こるかもしれませんが、そのサービス。私はそれが何をしているのか分からないので、まだあなたの問題がその内部にあるので、(モデルの)呼び出しを作成してください。 –

+0

また、javascriptがそのサーバー上の以前のいくつかの展開からキャッシュされていないことを確認する必要があります(最新の展開からすべてのものがあることを確認するにはブラウザキャッシュをクリアしてください)。 –

1

現在の設定で何も変更することなく、日付形式のエラーになることがあります。代わりに、カレンダーコントロールを通じて1/2/2011と日付を設定するので、1/2/2011 12:00:00 PM

それともdatepicker DATEFORMAT(他のフォーマットhere)をリセットとしてそれを設定してみてください:

.datepicker({ 
    dateFormat: 'mm/dd/yy' 
}); 
+0

それは正しいですが、私は日付を渡したいだけで、時間ではありません。 – InfoLearner

+1

謎はVSで動作し、IISサーバでは動作しない理由です。私は本当に混乱し、それを理解できません。それはそれを必要とするそのMSSQLの設定かもしれません? jqueryがIISで異なる動作をする可能性がありますか?重要な時間を作る何か他のものかもしれません – InfoLearner

+0

あなたは実際に何が掲示されているかFireBugされましたか? – Paul

関連する問題