2011-07-29 7 views
3

なぜこれが起こっているのか分かりません... 1時間前にJson Dataを私の見解に戻す私の行動の戻り値がありました。私のリストボックスをちょうどいいものに更新する...地球上で何が起きたのかわからない...突然、データをダウンロードするよう促しているだけだ...アイデアは私が何をしたのか、私はしなかった事実としての何か...それはもはや働いているので、私は何かをしたに違いない!非常にイライラ...ここreturn Jsonはコントローラにそれを与えるのではなく、Jsonをダウンロードするように促します

が私の見解とjQuery関数です...

[HttpPost] 
    public ActionResult SearchByDemographic1(FormCollection formCollection) 
    { 

     SLI.Text = patient.name[0].lastName + ", " + patient.name[0].firstName + " | " + patient.address[0].street1 + " | " + patient.address[0].city + " | " + patient.address[0].country; 
       SLI.Value = patient.compositeID[0].id + ""; 
       patientList.Add(SLI); 
     } 
     ViewData["PatientListToAdd"] = patientList; 
     //ViewData["POPID"] = PopID; 

     return Json(patientList, JsonRequestBehavior.AllowGet);   
    } 



    $(function() { 
    $("#DemoGraphSubmit").click(function (e) { 
     e.preventDefault(); 
     var form = $("#DemoGraphID"); 
     var srlzdform = form.serialize(); 
     var PopID = <% =PopID %> 
     var options = []; 
     var serializedForm = form.serialize(); 
     $.post("/PatientACO/SearchByDemographic", formCollection:srlzdform, function (data) { 
      options = $.map(data, function (item, i) { 
       return "<option value=" + item.Value + ">" + item.Text + "</option>"; 
      }); 
      $("#PatientListToAdd").html(options.join("")); 
     }); 
    }); 
}); 
+0

JsonResultはActionResultの一種ですが、前回私がこの問題を抱えていたのは、私が変更したものだと思いました。あなたが答えを得なければ、私は再び見に行きます。 – Brandon

+0

面白いことは、1時間前のように働いていた...これは非常にイライラしています...私はそれが働いていることを誓う...私は何が起こったのか分かりません。 – SoftwareSavant

+1

キャッシュをクリアし、response.ContentTypeを "text/javascript"に設定してください –

答えて

2

私は、あなたが提出し、失敗するあなたのclickイベントをあなたのJavaScript(放火魔をチェック)でエラーの原因となっているしていると信じています通常はフォームを作成し(コールバック関数を呼び出さずにJSON応答を返します)。

変更この:これに

$.post("/PatientACO/SearchByDemographic", formCollection:srlzdform, function (data) { 
    options = $.map(data, function (item, i) { 
     return "<option value=" + item.Value + ">" + item.Text + "</option>"; 
    }); 
    $("#PatientListToAdd").html(options.join("")); 
}); 

$.post("/PatientACO/SearchByDemographic", srlzdform, function (data) { 
    options = $.map(data, function (item, i) { 
     return "<option value=" + item.Value + ">" + item.Text + "</option>"; 
    }); 
    $("#PatientListToAdd").html(options.join("")); 
}); 

問題のあるコードがformCollection:srlzdformです。これは有効なJavaScript式ではないため、エラーが発生します。あなたは{ formCollection:srlzdform }を意味しているかもしれませんが、私はとは思えません。それはだと思います。モデルのバインダーはそれを把握できるはずです。

+0

私はとても愚かであるために自分自身を殺すべきです!ちょうど冗談私は自殺していない...私はあなたによってビールをもらえますか?以前見たことがないとは信じられない。私は他のJavaScript関数が動作していないときにそれを理解しておくべきだった...男は私が完全なばかのように感じる...私はこれを見て3時間ウエストをしている必要があります。ありがとう、ありがとう、ありがとう:-) :-) :-) :-) – SoftwareSavant

+1

@DmainEvent:ハハ、大したことはありません!時にはそれが必要なのは、目の第二のペアです: ') –

関連する問題