0

我有一个在 Visual Studio 2010 中运行良好的 MVC4 项目,但是当我将它部署到 IIS 时,我得到了“parsererror”的文本状态和“syntaxError”的 errorThrown(它位于 ajax 错误方法中)。任何想法为什么?我正在使用 IE8(在浏览器模式 IE8 和文档模式 IE8 标准下),但我已经包含了 json3.js 以防万一。我添加了 $.support.cors = true 甚至尝试了 crossDomain = true,但似乎什么也没得到它在IIS中工作,有什么建议吗?这是代码:

JSON_AjaxRequest: function (controller, method, parameters, callBackSuccess) {

    parameters = JSON.stringify(parameters);

    var hasError = false;
    var lastErrorMessage = "";

    $.support.cors = true;

    $.ajax({

        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "http://myServer/myApplication/" + controller + "/" + method,
        data: parameters,
        success: function (data, textStatus, jqXHR) {
            callBackSuccess(data);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            hasError = true;
            lastErrorMessage = errorThrown;
        },
        complete: function (jqXHR, textStatus) {

            if (hasError) {
                var errorObject = MyBuildErrorMsgRoutine(lastErrorMessage);
                MyDisplayErrorMsgRoutine(errorObject);
            }
        },
        dataType: 'json'
});
4

1 回答 1

0

多亏了 IT Farmer 让我走上了正轨。

对于内部 VS2010 使用:

 url: "http://localhost:<port>/" + controller + "/" + method,

对于 IIS 使用:

 url: "/SiteName/ControllerName/MethodName"

编辑:注意我在这里提到的“SiteName”,实际上是 IIS 中的应用程序名称,所以查看 IIS 树,您会看到“站点”,然后在“默认”(或其他)下,然后在它下面是您的应用程序名称列表,我在上面称之为 SiteName。

于 2013-10-22T18:40:42.210 回答