所以我正在使用以下代码发送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_url
在https://www.example.com/notifications/send_notification处,则尝试从base_url
参数中省略url
。
如果base_url
是另一个站点,则可能是跨站点脚本问题。
如果不是上述情况,则可能是服务器有问题。您确定SSL证书很好吗?如果它是自签名的,则需要先在浏览器中“批准”它。
最后,您可以使用Chrome浏览器(仅F12)检查确切的发送/接收数据,并检查Network
(必须在发出请求之前打开)。
此外,您可以直接使用Fiddler请求该网址(如果是POST,如果是GET,则只需使用浏览器进入该网址即可)。