我有一个Ajax代码,我从输入字段中获得一个ID,并试图通过删除请求发送它。
$("#removebutton").on("click", function() {
var questionid = $('#questionid').val();
$.ajax({
url : '../admincontroller/getdatabasedata',
type: 'DELETE',
data: questionid,
success: function(response)
{
JSON.stringify(response);
alert(response.ok);
}
});
return false;
});
以下是发送请求的位置:
else if ($this->input->server('REQUEST_METHOD') == 'DELETE')
{
$id = $this->input->get('questionid');
if($id != ''){
$this->adminmodel->deleteQuestion($id);
echo json_encode(array('ok' => $id));
}
else{
echo json_encode(array('ok' => $id));
}
}
我正在尝试echo $id
查看该值是否达到函数,但它仅echo UNDEFINED。为什么我的函数不能接收值?
您没有将数据作为键/值集发送。你只是在传递一个标量,它可能被插入为字符串。PHP完全不知道名称questionid
。要解决此问题,请使用一个对象作为请求数据。
在你的JS中,试试这个
var reqdata = {questionid: $('#questionid').val() }
然后在你的$.ajax
通话中:
data: reqdata,
我不确定在ajax调用的类型参数中使用"DELETE"是否能达到您想要的效果。除非我猜错了,否则它应该是"GET"、"POST"或"PUT"。(参数"type"是"method"的别名。)
但是,您可以在ajax调用中尝试此操作。
$.ajax({
url: '../admincontroller/getdatabasedata',
type: 'POST',
data: {
request: 'DELETE',
questionId: questionId
},
success: function(response) {
....
}
}
尝试
data: {questionid: questionid},
在ajax请求中