窗口未重定向到正确的Json返回传递的URL

时间:2011-04-11 16:08:04

标签: jquery ajax json asp.net-mvc-2

function GetOpenUrl(transactionId, legacyIndication)
    {
        var json = {
            id : transactionId,
            legacyIndication : legacyIndication
        };
         $.ajax({
            type: "POST",
            url: "<%= Url.Action("OpenSavedIndication", "Indications") %>",
            data: json,
            success: function(data) {
                alert(data);
                //window.location = data;
            }
        });
    }

因此,当我执行该警报时,我会得到正确的网址:

  

“/外联网/ MVC / Indications.cfc /经济/ 02559e2e-d48e-4623-b877-69f36aa8b011”

但是,如果我让它运行,我会得到一个错误页面:

  

描述:HTTP 404.资源   你正在寻找(或其中一个   依赖)可能已被删除,   它的名字改了,或者是   暂时不可用。请   查看以下网址并确保   拼写正确。

     

请求的网址:   /Extranet/mvc/Indications.cfc/"/Extranet/mvc/Indications.cfc/Economics/02559e2e-d48e-4623-b877-69f36aa8b011"/Extranet/mvc/Indications.cfc/"/Extranet/mvc/Indications.cfc/经济/ 02559e2e-d48e-4623-b877-69f36aa8b011"

发生了什么事?

编辑:

控制器动作返回码:

return Json(Url.Action("Economics", new { id = indicationBase.ID }));

1 个答案:

答案 0 :(得分:0)

我将控制器操作更改为仅返回Id,现在我重定向如下:

var idData = JSON.parse(data);
window.location = "Economics/" + idData.id;

似乎工作正常。