AJAX调用名称的视图被添加到URL?404结果未找到



我觉得这一定是我忽视的愚蠢的事情…在这个文件中,我对同一个控制器进行了一堆其他AJAX调用,这些调用都工作得很好,我只是看不出这个有什么不同!

url应该是:

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被调用时,视图的名称是program_overview。不知何故,它被添加到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);
}
});    
}

在Data控制器:

public function ajax_deleteTableRun() {
$postData=$this->input->post();
$runId=$postData['runId'];
$this->manage_model->delete_table_run($runId);
} 

调用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';

最新更新