所以我正在使用以下代码发送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”。

请注意,“ base_url”变量确实包含“ https” URL。

编辑:
这是Chrome中“网络”>“标题”标签的屏幕截图:

最佳答案

如果base_url是您所在的网站,则意味着如果您在https://www.example.com中输入您的网站,并且base_urlhttps://www.example.com/notifications/send_notification处,则尝试从base_url参数中省略url

如果base_url是另一个站点,则可能是跨站点脚本问题。

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

最后,您可以使用Chrome浏览器(仅F12)检查确切的发送/接收数据,并检查Network(必须在发出请求之前打开)。

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

09-27 03:08