如何從不同的頁面調用使用ajax的相同動作?ASP .NET MVC3 ajax從各種頁面調用相同的功能
type: 'POST',
url: 'Notification/GetRecentNotifications/'
我正在使用上面的代碼來調用我的操作。它適用於我的應用程序的主頁,但是當我更改爲其他頁面時,這不起作用。任何人都可以給我一個解決方案嗎?以前感謝。
如何從不同的頁面調用使用ajax的相同動作?ASP .NET MVC3 ajax從各種頁面調用相同的功能
type: 'POST',
url: 'Notification/GetRecentNotifications/'
我正在使用上面的代碼來調用我的操作。它適用於我的應用程序的主頁,但是當我更改爲其他頁面時,這不起作用。任何人都可以給我一個解決方案嗎?以前感謝。
繼承人我通常指向
$.ajax({
type: "POST",
url: '@(Url.Action("Action", "Controller"))',
success: function (data) {
}
});
使用Url.Action()
建立聯繫
當我在腳本中調用類似asp的函數時,是否可以分離javascript代碼? – haper
哪個控制器&行動的AJAX調用的jQuery內調用...將代碼放在一個ajax.js
文件您的腳本目錄然後在需要使用該文件中的方法的頁面中引用它。然後,把任何服務器端邏輯爲您的Ajax調用在AjaxController
例如:
ajax.js
function foo() {
var model = { };
$.ajax({
url: '@Url.Action("Foo", "Ajax")',
type: "POST",
data: JSON.stringify(model),
success: function(data) {
alert(data);
},
error: function(data) {
alert(data);
}
});
}
AjaxController.cs
public class AjaxController : Controller
{
[HttpPost]
public JsonResult Foo(FooModel model)
{
string message = _ajaxService.Foo(model);
return Json(message);
}
}
在上述_ajaxService
的例子中,一個服務層包含處理您的ajax請求的邏輯的對象。下面是如何使用該功能在您的視圖:
SomeView.cshtml
<script type="text/javascript" language="javascript" src="@Url.Content("~/Content/Scripts/ajax.js")"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('#button').click(foo);
});
</script>
如果有額外的邏輯將數據傳遞到被重複使用AJAX方法,你應該把它放在一個局部視圖並從每個需要它的角度引用它。
請將代碼示例進行分析。 –