gpt4 book ai didi

javascript - PHP 无法从 Ajax Jquery 捕获数据

转载 作者:行者123 更新时间:2023-12-01 03:04:26 24 4
gpt4 key购买 nike

我尝试在服务器端使用 Ajax 和 PHP 传递数据。 php 文件没有捕获通过 Ajax 发送的数据。

代码使用 jquery 获取值并生成一个名为 data 的长字符串

jquery 代码如下所示:

var data = 'ppemail=' + $('#email').val()
+ '&monto_enviar=' + montoEnviarDisp
+ '&monto_pub=' + montoPubDisp
+ '&tasa=' + tasaDisp
+ '&monto_recibir=' + monto_recibirDisp
+ '&banco=' + $('#banco').val()
+ '&receptor=' + $('#receptor').val()
+ '&cuenta=' + $('#cuenta').val()
+ '&cedula=' + $('#cedula').val();

$.ajax({
type: "POST",
url: 'crear_oferta.php',
data: ({data}),
success: function (response) {
alert(response);
}
});

php 文件是这样的:

<?php
session_start();
require_once 'dbconfig3.php';

var_dump($_POST);

try {
$userID = $_SESSION['userSession'];

$ppemail = $_POST['ppemail'];
$monto_e = $_POST['monto_enviar'];
$monto_p = $_POST['monto_pub'];
$tasa = $_POST['tasa'];
$monto_rec = $_POST['monto_recibir'];

$banco = ($_POST['banco']);
$receptor = ($_POST['receptor']);
$cuenta = ($_POST['cuenta']);
$cedula = ($_POST['cedula']);

/// luego de confirmar hacer el try e insertar

//if(isset($_POST['btnferta'])){

//$password = md5($upass);
$bid_date = date('Y-m-d H:i:s');

$stmt = $db_con->prepare("INSERT INTO ofertas(uid,email_pp,nombre_receptor,banco_receptor,cuenta_receptor,cedula_receptor,monto_enviar,monto_publicar,tasa,monto_recibir,fecha)
VALUES(:userid, :emailpp, :nombre, :banco, :cuenta, :cedula, :monto_e, :monto_p, :tasa, :monto_r, :fecha)");

$stmt->bindParam(":userid", $userID);
$stmt->bindParam(":emailpp", $ppemail);
$stmt->bindParam(":nombre", $receptor);
$stmt->bindParam(":banco", $banco);
$stmt->bindParam(":cuenta", $cuenta);
$stmt->bindParam(":cedula", $cedula);
$stmt->bindParam(":monto_e", $monto_e);
$stmt->bindParam(":monto_p", $monto_p);
$stmt->bindParam(":tasa", $tasa);
$stmt->bindParam(":monto_r", $monto_rec);
$stmt->bindParam(":fecha", $bid_date);

$stmt->execute();

echo 'ok';


} catch (PDOException $ex) {
echo $ex->getMessage();
}

?>

为什么 $_POST 没有获取任何数据?感谢您的帮助!

最佳答案

您应该将data设置为一个对象。这确保了 URL 参数将被正确编码;否则,您需要对可能包含特殊字符的任何参数调用 encodeURIComponent

var data = {
'ppemail': $('#email').val(),
'monto_enviar': montoEnviarDisp,
'monto_pub': montoPubDisp,
'tasa': tasaDisp,
'monto_recibir': monto_recibirDisp,
'banco': $('#banco').val(),
'receptor': $('#receptor').val(),
'cuenta': $('#cuenta').val(),
'cedula': $('#cedula').val()
};

那么在调用 $.ajax 时就不应该将其包装在另一个对象中:

$.ajax({
type: "POST",
url: 'crear_oferta.php',
data: data,
success: function(response) {
alert(response);
}
});

关于javascript - PHP 无法从 Ajax Jquery 捕获数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46289887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com