とにかく、私が少し怒っているので、これで何か間違ったことをしているのを見ることができますか(金曜日の脳なのか赤ちゃんの脳なのかはわかりません)...
ローカルでは正常に動作するが、別のサーバーにデプロイすると動作しない Ajax 投稿があります。
期待どおりのパラメーターを取得していることを確認するために多くのアラートを入れたので、何が欠けているのかよくわかりません。
ajaxの投稿は次のとおりです。
意見:
var theUrl = "/Widgets/TestBin2AutomationResults/" + widgetImpressionId + "/" + retailerProductId + "/" + quantity;
alert("widgetImpressionId" + widgetImpressionId);
alert("retailerProductId" + retailerProductId);
alert("quantity" + quantity);
alert(theUrl);
$("#imgaddtocart").hide();
$("#addMe").unbind('click');
$("#delete").unbind('click');
$.ajax({
type: "POST",
url: theUrl,
data: { 'username': username, 'password': password },
dataType: "json",
success: function (data) {
if (data != null) {
alert("we are inside data");
コントローラ:
[JsonpFilter]
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult TestBin2AutomationResults(int widgetImpressionId, int retailerProductId, int quantity, string username, string password)
{
MessageBox.Show("We are inside TestBin2Automation controller " + widgetImpressionId + "/" + retailerProductId + "/" + quantity + "/" + username + "/" + password);
Global.asax
routes.MapRoute("Bin2SubmitTestBin2Automation", "Widgets/TestBin2AutomationResults/{widgetImpressionId}/{retailerProductId}/{quantity}", new { controller = "Widgets", action = "TestBin2AutomationResults", widgetImpressionId = 0, retailerProductId = 0, quantity = 0, username = "", password = "" });
MessageBox.Show が表示されていないため、コントローラーにアクセスしていません。
週末ずっとこれが私の頭にぶら下がっていないのはいいことです!
どうもありがとう