我觉得这一定是我忽略的一些愚蠢的事情......我在这个文件中有一堆其他 AJAX 调用到同一个工作正常的控制器,我只是看不出这个有什么不同!
网址应该是:
https://dev.vmc.w3.uvm.edu/nefin-xana/data/ajax_deleteTableRun
(其中 Data.php 是控制器的名称)
但我不断收到错误:
POST https://dev.vmc.w3.uvm.edu/nefin-xana/program_overview/data/ajax_deleteTableRun 404 (Not Found)
当 ajax_deleteTableRun 被称为程序概述时,我所在的视图的名称。不知何故,这被添加到 AJAX 调用的 URL 中?
function deleteTableRun(runId) {
posturl='data/ajax_deleteTableRun';
var data= {};
data['runId']=runId;
$.ajax({
url: posturl,
data: data,
type: "POST",
dataType: 'json',
error: function (xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
},
success: function (data) {
console.log(data);
}
});
}
在数据控制器中:
public function ajax_deleteTableRun() {
$postData=$this->input->post();
$runId=$postData['runId'];
$this->manage_model->delete_table_run($runId);
}
回答1
调用这个 ajax 的 URL 是
https://dev.vmc.w3.uvm.edu/nefin-xana/program_overview
并且您的代码使用相对 URL
posturl='data/ajax_deleteTableRun';
因此,JS 正确地将相对 URL 附加到原始 URL。
相反,请考虑使用绝对 URL
posturl='/data/ajax_deleteTableRun';