下面是一個Ajax POST
變量,用於將一些信息返回給ASP MVC3視圖。但是,我無法使.dialg()
彈出功能正常工作。現在你點擊調用GetProgramDetails(pgmname)
的圖標,沒有任何反應。第一次使用Ajax,所以任何建議,將不勝感激。謝謝!將Ajax POST變量傳遞給JQuery UI對話框
<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);
});
第二個編輯
這裏是控制器代碼的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();
}
嘗試我的新帖子。它會嘗試使用返回的數據js變量來打開一個對話框。並且交叉你的手指! – 2013-02-19 17:15:46
請參閱我的新編輯 – 2013-02-19 17:41:06
應該用新的代碼塊替換'var request ='還是'request.done',還是將其附加到? – NealR 2013-02-19 17:47:27