This is my Ajax Query
function updateTask() {
var task_id = document.getElementById('edit').getAttribute('edit_task_id');
var newTask = document.getElementById('edit_task').value;
var csrf = document.querySelector('meta[name="csrf-token"]').content;
var close = document.getElementById('close');
var editob = new XMLHttpRequest();
editob.open('POST', '/{task_id}/{newTask}', true);
editob.setRequestHeader('X-CSRF-Token', csrf);
editob.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
editob.send("task_id=" + task_id, "newTask=" + newTask);
console.log(newTask);
console.log(task_id);
}
This is y Controller
public function editTask($id, $newTask){
//$x = $id->get('task_id');
print_r($id);
print_r($newTask);
}
And this is the response I get, butI actually want the proper string value that I passed through ajax
you are passing a raw string here
editob.open('POST', '/{task_id}/{newTask}', true);
that is why, it works in php not in js, for JS use
editob.open('POST', '/' + task_id + '/' + newTask, true);
actually, your script shows proper data what you asking for
editob.open('POST', '/{task_id}/{newTask}', true);
here your URL looks something like this. because you sending a string instead of a value
http://your-domain.com/{task_id}/{newTask}
what you need to do is
editob.open('POST', `/${task_id}/${newTask}`, true);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.