2

所以我使用下面的代码来发送一个ajax请求

                    $.ajax({
                        type: 'POST',
                        url: base_url + "/notifications/send_notification",
                        dataType: 'json',
                        data: {
                            action: 'action_complete',
                            entity_id: 31
                        }
                    });

这段代码在我的本地机器上运行良好,但是当我将它上传到我们的服务器(现在有 SSL 设置),并尝试通过 https 而不是 http 进行时,它会出现“500 Internal Server Error”。

Ps“base_url”变量确实包含“https”url。

编辑:这是 Chrome 中 Network > Header 选项卡的屏幕截图: 在此处输入图像描述

4

2 回答 2

1

如果base_url是您所在的网站,我的意思是如果您在 https://www.example.com 输入您的网站并且base_url位于https://www.example.com/notifications/send_notification然后尝试base_urlurl参数中省略.

如果base_url是另一个站点,那么它可能是一些跨站点脚本问题。

如果不是上述情况,则可能是服务器问题。你确定 SSL 证书是好的吗?如果它是自签名的,那么您需要先在浏览器中“批准”它。

最后,您可以检查确切的发送/接收数据,即 Chrome,只需 F12 并检查Network(必须在发出请求之前打开)。

此外,您可以直接使用 Fiddler 请求该 url(如果是 POST,如果是 GET,则只需使用浏览器进入它)。

于 2012-08-22T07:36:34.427 回答
0

从浏览器执行网络监控以读取 500 Internal Server Error 响应的正文。如果您要发回 JSON,请确保您申请AllowGet: true.

您可以像这样发布响应正文的屏幕截图: 在此处输入图像描述

于 2012-08-22T07:32:57.983 回答