我在Visual Studio 2013中創建了一個MVC3項目。視圖引擎是razor.First我在@section Scripts {}視圖(cshtml)中編寫了jquery.ajax,它工作正常。但我單獨腳本.js文件和調試,我得到錯誤: (IIS調試快遞)404 Not Found Ajax jquery MVC
IIS 8.0詳細錯誤 - 404.0 - 未找到 ... 更多信息:此錯誤意味着該文件或目錄不在服務器上不存在。創建文件或目錄並再次嘗試請求。
..
我的jQuery函數(archive.js):
jQuery.AjaxGetProjects = function (dropdownId, detailDropDownId, authorized) {
var projectId = $(dropdownId).val();
if (projectId != null && projectId != '') {
var url =
$.ajax({
type: "POST",
url: '@Url.Action("GetProjects", "Archive")',
data: {
'projectId': projectId,
'authorized': authorized
},
success: function (departman) {
var length = 0;
$(detailDropDownId).empty();
$.each(departman, function (index, proje) {
length = length + 1;
$(detailDropDownId).append($('<option/>', {
value: proje.Value,
text: proje.Text,
selected: proje.Selected
}));
});
if (length == 2) {
$(detailDropDownId).trigger('change');
}
},
error: function (xhr, ajaxOptions, thrownError) {
// bu kısımda eğer ajax işlemi başarısız ise
// hata mesajı verebiliriz.
alert(xhr.responseText);
}
});
}
}
控制器:
public class ArchiveController : BaseController
{
...
public ActionResult GetProjects(int projectId, bool authorized)
{
IArchive arch = WcfServiceHandler.GetDmsService<IArchive>();
List<Poco> list = arch.GetProjects(UserManager.GetUserInfo(), projectId);
var t = MvcHelper.GetDropDownList<Poco>(list, "NAME", "ID", "");
return Json(t, JsonRequestBehavior.AllowGet);
}
我試過,但無法正常工作(我有一個新的錯誤:資源無法找到):
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
請幫助..
' '@ Url.Action( 「GetProjects」, 「歸檔」)','是剃刀代碼。 Razor代碼不在外部腳本文件中分析。您需要在主視圖中定義一個變量,然後從腳本文件中訪問該變量 –
@StephenMuecke您可以舉例。我在MVC中是全新的。 –
在主視圖'var myUrl ='@ Url.Action(「GetProjects」,「Archive」)';'和腳本文件'$ .ajax({url:myUrl,....' –