POST
以下は、ASP MVC3 ビューに情報を返すために使用するAjax変数です。ただし、.dialg()
ポップアップ機能を動作させることはできません。現在、 を呼び出すアイコンをクリックしてGetProgramDetails(pgmname)
も、何も起こりません。初めてAjaxを使用するので、何か提案をいただければ幸いです。どうも!
<script src="http://code.jquery.com/jquery-1.8.3.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js" type="text/javascript"></script>
<script type="text/javascript">
function GetProgramDetails(pgmname) {
var request = $.ajax({
type: 'POST',
url: '/BatchPrograms/PopDetails',
data: { programName: pgmname },
dataType: 'html'
});
request.done(function (data) {
$('#data').dialog();
});
</script>
編集
関数を更新して、コードが呼び出されているかどうかをrequest.done
簡単に確認できるようにしました。alert
Chrome のデバッガーを使ってみると、内部のコードが完全にスキップされていることがわかりました。
request.done(function (data) {
alert("HERE!");
$('#programExplanation').html(data);
});
2回目の編集
ajax が値を返すコントローラー コードは次のとおりです。
[HttpPost]
public string PopDetails(string programName)
{
BatchPrograms batchprograms = db.BatchPrograms.Find(programName);
if (batchprograms == null) return string.Empty;
StringBuilder s = new StringBuilder();
s.Append(batchprograms.ProgramName + " - " + batchprograms.ShortDescription);
s.Append("<br />Job Names: " + batchprograms.PrdJobName + ", " + batchprograms.QuaJobName );
s.Append("<br /> " + batchprograms.Description);
return s.ToString();
}