让grunt的连接服务器接受静态文件的POST请求

时间:2014-07-17 04:59:17

标签: javascript http post gruntjs connect

我正在尝试使用预先配置的connect middleware framework grunt来开发我的应用程序的前端,静态JSON文件代表我将在稍后开发的实际Web服务。

但是,向我的静态文件发送POST请求会导致404错误,即使具有相同URL和参数的GET请求也可以正常工作。

我可以配置grunt / connect,以便在向该URL发出POST请求时简单地提供我的静态文件吗?

1 个答案:

答案 0 :(得分:1)

如果应用程序使用Grunt Server,我在源代码中做了一个技巧来调用GET方法:

var useGruntServer = window.location.href.indexOf("localhost:9000") >= 0;

self.jsonGet = function (url, dataIn, callback, errorCallBack) {
    $.ajax({
        data: dataIn,
        type: "GET",
        url: url,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (result) {
            if (callback) callback(result);
        },
        error: function () {
            if (errorCallBack) errorCallBack();
        }
    });
};

self.jsonPost = function (url, dataIn, callback, errorCallBack) {

    //Grunt Server Accepts only GET requests
    if (useGruntServer) {
        self.jsonGet(url, null, callback, errorCallBack);
        return;
    }

    $.ajax({
        data: self.objectToJsonString(dataIn),
        type: "POST",
        url: url,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (result) {
            if (callback) callback(result);
        },
        error: function () {
            if (errorCallBack) errorCallBack();
        }
    });
};