在我的MVC5项目中,我使用了Jquery并使用了Controller Actions,我使用了相对路径。以下是一个示例: -
$("#divTree").jstree({
'core': {
'data': {
"url": "/Customer/GetList",
"dataType": "json"
},
"check_callback": true
},
"plugins": ["contextmenu", "dnd", "json_data"]
});
我也在jquery.ajax()方法中使用相对路径。所有相对路径都在visual studio中工作。但是当我在IIS中发布并托管它时,相对路径不起作用。
在我的asp.net web表单项目中,我要么使用ReloveUrl()或〜。
我应该如何在MVC 5项目中处理它。?
答案 0 :(得分:1)
尝试以下方法:
$("#divTree").jstree({
'core': {
'data': {
"url": "~/Customer/GetList",
"dataType": "json"
},
"check_callback": true
},
"plugins": ["contextmenu", "dnd", "json_data"]
});
答案 1 :(得分:0)
您应该考虑不对MVC应用中的URL进行硬编码,而是使用提供的帮助程序。如果脚本位于视图中,则可以使用@ Url.Action()生成URL。如果没有,您仍然可以通过某种方式将其作为参数传递给JS。
$("#divTree").jstree({
'core': {
'data': {
"url": '@Url.Action("Customer", "GetList")',
"dataType": "json"
},
"check_callback": true
},
"plugins": ["contextmenu", "dnd", "json_data"]
});