简体   繁体   中英

why can't we access values on server side in POST request?

I tried to send the request from jquery ajax with contentType as 'text/plain'. I am unable to access the values on the server side. I am accessing the values using $_POST array in php file. Why is this happening.

jQuery AJAX code:

$.ajax({ 
    type: "POST", 
    data: {o_pass:o_pass,n_pass:n_pass}, 
    url: "changepass", 
    success: function(response) { alert(response); } 
});

Server side:

$old_pass = $_POST['o_pass']; 
$new_pass = $_POST['n_pass'];

Because POST requests should have a content type of application/x-www-form-urlencoded or multipart/form-data so that the server knows what it is dealing with.

What is the reason for sending the request as plain text?

You shouldn't have to worry about the content type, when doing a standard post request.

Try changing your url: changepass to changepass.php . You probably have an html or htm file named changepass that your server is processing your post request.

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM