[英]Ajax value can't reach delete function
我有这个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
以查看该值是否到达函数,但它仅回显UNDEFINED 。 为什么我的函数不能收到该值?
您没有将数据作为键/值集发送。 您只是传递了一个标量,该标量可能是字符串形式的。 PHP完全不知道名字questionid
。 要解决此问题,请使用一个对象作为您的请求数据。
在您的JS中,试试这个
var reqdata = {questionid: $('#questionid').val() }
然后在您的$.ajax
调用中:
data: reqdata,
我不确定ajax调用的type参数中是否包含“ DELETE”会做什么。 除非我错过我的猜测,否则期望的是“ GET”,“ POST”或“ PUT”。 (参数“类型”是“方法”的别名。)
但是,您可以在ajax调用中尝试此操作。
$.ajax({
url: '../admincontroller/getdatabasedata',
type: 'POST',
data: {
request: 'DELETE',
questionId: questionId
},
success: function(response) {
....
}
}
尝试
data: {questionid: questionid},
在ajax请求中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.