Javascript url 404错误

时间:2013-01-15 10:31:18

标签: javascript asp.net-mvc-4

我在加载网站时遇到问题。使用此代码:

$.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/ContactPopuphttp://localhost:54717/en/Property/ContactPopup

类似

3 个答案:

答案 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',