在asp.net mvc中對控制器進(jìn)行簡單的Ajax調(diào)用我正在嘗試開始使用ASP.NET MVC Ajax調(diào)用??刂破鳎簆ublic class AjaxTestController : Controller{
//
// GET: /AjaxTest/
public ActionResult Index()
{
return View();
}
public ActionResult FirstAjax()
{
return Json("chamara", JsonRequestBehavior.AllowGet);
} }視圖:<head runat="server">
<title>FirstAjax</title>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var serviceURL = '/AjaxTest/FirstAjax';
$.ajax({
type: "POST",
url: serviceURL,
data: param = "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: successFunc,
error: errorFunc });
function successFunc(data, status) {
alert(data);
}
function errorFunc() {
alert('error');
}
});
</script></head>我只需要使用控制器方法返回?cái)?shù)據(jù)來打印警報(bào)。上面的代碼只是在我的視圖上打印“chamara”。警報(bào)未觸發(fā)。UPDATE我修改了我的控制器如下,它開始工作。我不清楚它為什么現(xiàn)在正在工作。有人請解釋一下。參數(shù)“a”沒有關(guān)聯(lián)我添加它因?yàn)槲也荒芴砑觾蓚€(gè)方法具有相同的方法名稱和參數(shù)。我認(rèn)為這可能不是解決方案,但它的工作public class AjaxTestController : Controller
{
//
// GET: /AjaxTest/
[HttpGet]
public ActionResult FirstAjax()
{
return View();
}
[HttpPost]
public ActionResult FirstAjax(string a)
{
return Json("chamara", JsonRequestBehavior.AllowGet);
}
}
3 回答

飲歌長嘯
TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
完成更新后,
它首先使用默認(rèn)的HttpGet請求調(diào)用FirstAjax操作并呈現(xiàn)空白的Html視圖。(早先你沒有)
稍后加載該視圖的DOM元素時(shí),您的Ajax調(diào)用將被觸發(fā)并顯示警報(bào)。
之前您只是將JSON返回給瀏覽器而不呈現(xiàn)任何HTML?,F(xiàn)在它呈現(xiàn)了一個(gè)HTML視圖,它可以獲取您的JSON數(shù)據(jù)。
您不能直接呈現(xiàn)JSON的普通數(shù)據(jù)而不是HTML。

qq_遁去的一_1
TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
刪除數(shù)據(jù)屬性,因?yàn)槟皇?code>POSTING服務(wù)器的任何內(nèi)容(您的控制器不期望任何參數(shù))。
在您的AJAX方法中,您可以使用Razor
和使用@Url.Action
而不是靜態(tài)字符串:
$.ajax({ url: '@Url.Action("FirstAjax", "AjaxTest")', contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: errorFunc});
從您的更新:
$.ajax({ type: "POST", url: '@Url.Action("FirstAjax", "AjaxTest")', contentType: "application/json; charset=utf-8", data: { a: "testing" }, dataType: "json", success: function() { alert('Success'); }, error: errorFunc});

白板的微信
TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
使用Razor通過調(diào)用您的操作動(dòng)態(tài)更改您的URL:
$.ajax({ type: "POST", url: '@Url.Action("ActionName", "ControllerName")', contentType: "application/json; charset=utf-8", data: { data: "yourdata" }, dataType: "json", success: function(recData) { alert('Success'); }, error: function() { alert('A error'); }});
- 3 回答
- 0 關(guān)注
- 1439 瀏覽
添加回答
舉報(bào)
0/150
提交
取消