我有一个 jQuery Ajax Post 请求,该请求进入 Code Igniter 函数,之后 CodeIgniter 发送一封电子邮件,其中包含 post 请求中的详细信息。
JavaScript 代码:
$.ajax({
type: 'POST',
url: 'http://localhost/admin/index.php/callback',
data: { 'name': inputName, 'phone': inputNumber},
success: function() {
onSuccess();
},
async:true
});
PHP/CodeIgniter 函数
public function email() {
if (!isset($_POST)) {
//exit('No direct script access allowed');
} else {
//Send Email
}
}
问题见编辑
CodeIgniter 不会对调用发送响应。
Post 请求已收到并在电子邮件部分正常运行时运行,我收到了包含 post 请求中发送的详细信息的电子邮件,但 onSuccess(); 从未被调用(并且没有通过 Chromes 网络观察程序记录任何响应,它只是显示“待处理”)
这都是从我的本地机器上运行的
此请求是从主 index.php 完成的,但 CodeIgniter 仅安装在 /admin 目录中
谢谢你的时间!
编辑:将 ajax url 更改为带有 localhost 的完整 url,因为它是在 CI $config 中设置的
编辑:CI 确实会发送回复,这需要 2-3 分钟,这也是发送电子邮件所需的时间,那时我无法访问该网站的任何其他页面。我开始认为这可能是我的本地机器/Apache 设置的问题。