Angularjs(1.2.10)$ http.post从phonegap发送到node.js服务器时发出404错误(cors请求)

时间:2014-01-31 16:59:00

标签: node.js angularjs cordova cors

我正在尝试将评论发布到nodejs服务器,但我收到404错误。我在服务器端使用了cors模块来处理cors请求。我正在使用打字稿。

cors模块:https://github.com/troygoode/node-cors

var app = express();
app.use(cors());
(<any>app).options('*', cors()); // include before other routes
app.use((<any>app).router);

以下是我的端点代码

app.post("/api/object/addcomment/:id", authenticatebearer(), (req, res) => {
    var id = this.ParseInt(req.params.id);
    var comment: string = req.body.CommentText;
    if (this.IsNullOrUndefined(id) && this.IsNullOrUndefined(comment))
        return this.SendInputError("input is empty.", res);

    (new OM.ObjectManager()).AddComment(req.user.userId, id, comment, (err, commentId) => {
        if (err) return this.SendInternalError(err.message, res);
        return res.json(commentId);
    });
});

我从angularjs app调用上面的端点,

myApp.config(function ($httpProvider) {
    $httpProvider.defaults.useXDomain = true;
    delete $httpProvider.defaults.headers.common['X-Requested-With'];
});

function addComment(id, comment, callback) {
    var URL = Client.Config.RestUrl + "api/object/addcomment/" + id.toString() + '?access_token=' + this.RootScope.LogInUser.accessToken;
    this.$http.post(URL, JSON.stringify({ CommentText: comment }))
        .success((commentId, status) => {
            callback(null, commentId);
        })
        .error((data, status) => {
            callback(new Error("An unexpected error occured while adding comment."), null);
        });
}

此代码在桌面环境中正常运行。请从chrome看网络日志, enter image description here

在phonegap中,函数调用成功执行,注释被添加到系统中,但是$ http.post给出了404错误(在错误回调中获得响应)。请参阅网络日志adb调试工具(适用于android 4.4.2), enter image description here

我在过去的两天里为此苦苦挣扎。无法找到解决方案。请帮我。 提前致谢。抱歉我的英文。

0 个答案:

没有答案