0

您好,我有一个问题:
当我使用 JSONP 进行 ajax 调用时,我的本地计算机一切都很好,但是当我在服务器上运行它时,它显示了一个错误
下面我显示了错误的代码和详细信息:

$.ajax({

                data: { info: JsonString },
                contentType: 'application/json; charset=utf-8',
                dataType: "jsonp",
                /*url: jsondata.Ruta + "/LanzarAplicativo/",*/
                url: 'http://localhost:1143/contenido/LanzarAplicativo/',
                success: function (result) {
                    console.log(result);
                },
                error: function (xhr, status, error) {
                    //some code
                }
            });

这是在ajax中指定的方法

    [HttpGet]
    public ActionResult LanzarAplicativo(string info)
    {
        Informacion info;
        info = JsonConvert.DeserializeObject<Informacion>(info);

        Session["miContexto"] = informacion ;

        //some code

        return View(); 
    }

当我这样做但更改 ajax 中的 url(在我的 IIS 服务器的 url 中)时,chrome 控制台会抛出以下错误:

Failed to load resource: the server responded with a status of 404 (Not Found) http://someUrlmyserver/Plataform/Demo/Contenido/LanzarAplicativo/…%2C%2232%22%3A%22calipso%22%2C%2233%22%3A%22summer%22%7D%7D%7D%7D&_=1382717706500

由于 ajax 调用中提供的参数数量,此 url 很长。

我认为问题可能是因为 url 的大小,但是当我在本地主机中运行时,这个问题也应该解决

有任何想法吗?

谢谢

4

1 回答 1

0

尝试使用 url 作为 /controller/action 而不是完整的 url:

$.ajax({
dataType: "jsonp",
url: '/contenido/LanzarAplicativo/',
..
});

相反,如果从控制器返回视图,则可以返回 bool (true)。

于 2013-10-25T17:55:05.067 回答