无法使用XMLHttpRequest将Javascript变量传递给PHP [关闭]

问题描述 投票:-3回答:1
使用AJAX将Javascript变量传递给PHP时遇到问题。 PHP脚本使用此变量并将其存储到数据库表中。

Javascript:

var name_p="Rocky"; var gender_p="Male"; var sendpost="pname="+name_p+"&pgender="+gender_p; var xhttp = new XMLHttpRequest(); xhttp.open("POST", "post.php", true); xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhttp.send(sendpost);

post.php:

$pname = $_POST["pname"]; $pgender = $_POST["pgender"]; $dbconn = pg_connect("host=127.0.0.1 dbname=tprofile user=xxxx password=xxxx") or die('Could not connect: ' . pg_last_error()); $queries = "INSERT INTO profiles(pname,pgender) VALUES ($pname,$pgender)"; $result = pg_query($queries); pg_close($dbconn);
javascript php ajax
1个回答
0
投票
[嘿嘿嘿你正在尝试发送一个字符串,只是一个变量sendpost包含一个字符串发送2个变量试试这个:

var jdata = new Object(); jdata.pname = 'Rocky'; jdata.pgender='Male' var xhttp = new XMLHttpRequest(); xhttp.open("POST", "post.php", true); xhttp.setRequestHeader('Content-Type', 'application/json'); xhttp.send(JSON.stringify(jdata)); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log(this.responseText); } }

您可以将您的数据粘贴到对象中,以另一种方式,您可以使用formdata,但是这对我来说很好[]
© www.soinside.com 2019 - 2024. All rights reserved.