ここで何か奇妙なことが起こっています。なぜ、ASP.NET MVCは、データがIEからではなく、Firefoxからポストされている場合、nullパラメータに苦情を言いますか?
IEの任意のバージョン以外のブラウザでも動作するASP.NET MVC ActionMethodに投稿するJSがあります。次のように問題の コードは次のとおりです。queryDateパラメータにNULLエントリを訴えるだろうIE .NETで
public ActionResult GenerateTargetData(int team, DateTime queryDate, bool forceRegen = false, bool newOutlets = false)
を実行している場合:
$.ajax({
url: path,
type: 'POST',
data: { team: team_copy[team_copy.length - 1], queryDate: d.toUTCString(), newOutlets: newOutlets },
success: function (MyResponseObject) {
holder.append(MyResponseObject.content);
//locate active section and click to show new content - its a mess, but it works
//activeMenu.click();
MessageSystem.showMessage("Target Data System", MyResponseObject.message, false);
if (team_copy.length > 1) {
team_copy.pop();
$('#actualprogress').animate({ width: '+=' + TargetReports.progressratio + '%' }, 'slow');
TargetReports.getTeamData(team_copy, d, newOutlets);
}
else {
MessageSystem.showMessage("Complete", "All Data Fetched", false);
$('#show-calendar-selection').fadeIn();
TargetReports.buildTotalsTable("daysandcalls", "daysandcallstotal");
TargetReports.buildTotalsTable("volumeanddistribution", "volumeanddistributiontotal");
TargetReports.buildTotalsTable("outletactivation", "outletactivationtotal");
TargetReports.buildTotalsTable("promotion", "promotiontotal");
//$('#progress').fadeOut().remove();
$('#results-options').fadeIn();
$('#total-holder').fadeIn();
activeMenu.click();
//update link to download file
var hidden = $('.hidden-information').first();
var newOutlets = encodeURIComponent($('input[name="newoutlets"]', hidden).val());
var queryDate = encodeURIComponent($('input[name="enddate"]', hidden).val());
var anchor = $('#get-target-reports');
var link = anchor.attr('href');
link = "/manager/TargetResults.csv?endDate=" + queryDate + "&newOutlets=" + newOutlets;
anchor.attr('href', link);
}
}
});
アクションメソッドのシグネチャは次のようになります。 IEでデバッグツールを使用して、私は次のようにリクエストボディに見えることがわかります。
team=7&queryDate=Mon%2C+29+Nov+2010+23%3A15%3A39+UTC&newOutlets=false
そして作品のFirefox、中:
team=7&queryDate=Mon%2C+29+Nov+2010+23%3A10%3A46+UTC&newOutlets=false
で、ここで起こっていただきました!私は本当に見傾けます。すべての助けに感謝!
どのデバッグツールを使用していますか?フィドラー? –
IEの場合、私はIE9(f12) – Sergio
に付属の開発ツールを使用し、またダブルチェックを行うためにフェドラー – Sergio