Jquery 模型没有响应。Codeigniter Ajax请求
这是我第一次尝试ajax,我对CI也是新手。我已经按照下面的方式设置了我的MVC,并且正在使用bookmarklet调用js函数。我知道程序的bookmarklet部分正在工作,因为我可以硬编码aJquery 模型没有响应。Codeigniter Ajax请求,jquery,ajax,codeigniter,Jquery,Ajax,Codeigniter,这是我第一次尝试ajax,我对CI也是新手。我已经按照下面的方式设置了我的MVC,并且正在使用bookmarklet调用js函数。我知道程序的bookmarklet部分正在工作,因为我可以硬编码a$(“#source”).val('Update Summary ID'),并让它正确更新我的字段。当我尝试使用AJAX请求时,没有得到响应。我正在使用firebug来检查响应,并且没有发现错误。让我知道到目前为止我是否已正确设置了所有内容,以及我还缺少什么。谢谢 控制器: public fun
$(“#source”).val('Update Summary ID')
,并让它正确更新我的字段。当我尝试使用AJAX请求时,没有得到响应。我正在使用firebug来检查响应,并且没有发现错误。让我知道到目前为止我是否已正确设置了所有内容,以及我还缺少什么。谢谢
控制器:
public function updatePajeFields(){
$data['id'] = $this->mAutoPAJE->updatePajeFields();
header('Content-type: application/json; charset=utf-8');
echo json_encode($data['id']);
}
型号:
public function updatePajeFields(){
$row = $_POST['row'];
$this->db->select('*');
$this->db->from('pajeV2test');
$this->db->where('paje_id', $row);
$query = $this->db->get();
return $query->result_array();
}
javascript:
$(document).ready(function() {
var data = {
'row' : prompt("What is the ID? v4")
}
$.ajax({
url: 'http://myurl',
data: data,
type: 'POST',
success: function(responses) {
$('#ticket').val(responses.researched_by);
$('#source').val(responses.researched_by);
}
});
});
我认为result\u array将返回一个数组,因此您需要像
$results=$query->result\u array()这样的东西$返回$results[0]代码>。或者,您可以使用$query->row()代码>返回一行
你能试试文件内容('log.txt',$this->db->\u compile\u select())吗
就在$this->db->get()之前代码>行?这将为您提供它正在运行的确切查询。然后,您可以查看查询是问题(例如参数不正确)还是数据本身。我可以从何处访问log.txt输出?如果PHP具有写入权限(如果您的主机配置正确,则应该具有写入权限),它将在您的脚本正在执行的目录中。我正在本地主机上运行它,在任何日志文件夹中都看不到它。我能回显结果吗?我想您可以尝试回显,并在浏览器控制台中查看结果。至于log.txt
文件,您应该能够在models
或controllers
目录中找到它。您在firebug中看到的ajax调用的响应是什么?响应为空。我尝试过其他一些方法,但效果不一。我想确保首先调用控制器,所以我只是在函数中添加了一个基本的回显。直到我添加了数据类型:“jsonp”
,echo才起作用。尽管我的POST变量没有被传递到模型,但是有了它。这有助于任何故障排除吗?为了进行调试,我建议您从控制器中删除json头,将jquery中的数据类型设置为“text”,并将console.log(responses)放入成功回调中,现在如果您设法在控制器中获得回显,请添加var\u dump($row)
在您的模型中,我还建议您使用CI的输入类来检索post值,如下所示$row=$this->input->post('row')
谢谢考拉!像这样设置,我没有收到任何响应或回音。您的控制台打开了吗?你还收到控制器的回音吗?调试AJAX时的另一个有用提示:您可以进入Firebug的“Net”选项卡,单击“XHR”并分析完整的请求和响应头