我在加载网站时遇到问题。使用此代码:
$.ajax({
type: "POST",
//url: '@Url.Action("/TellFriendPopup")',
url: '/Property/TellFriendPopup',
data: { "SenderName": SenderName, "senderMail": senderMail, "receiverMail": receiverMail, "comments": comments, "urlLink": urlLink, "subjectId": subjectId },
success: function (data) {
$("#result").html("<ul><li>Name: " + data.nameret + "</li><li>Email: " + data.emailret + "</li><li>Message: " + data.messageret + "</li></ul>");
$(".dialog").dialog("close");
},
问题是我必须将代码移动到JavaScript文件,而不是MVC4 View,我可以使用@Url.Action
方法。但它不适用于JavaScript。它只是给了我这个错误POST http://localhost:54717/Property/ContactPopup 404 (Not Found)
。我可以看到的原因是缺少全球化。因为网址应该与http://localhost:54717/da/Property/ContactPopup
或http://localhost:54717/en/Property/ContactPopup
答案 0 :(得分:2)
您可以获取路径名的第一个文件夹。只要这是每页上语言代码的位置。
var language = location.pathname.split("/")[1];
url: language + '/Property/TellFriendPopup'
答案 1 :(得分:2)
您可以在language
字段中拥有hidden
。
var language = document.getElementById('language`).value;
url: '/' + language + '/Property/TellFriendPopup'
答案 2 :(得分:1)
您可以尝试更改此内容:url: '/Property/TellFriendPopup',
到此url: '../Property/TellFriendPopup',