Javascript 如何从PHP访问表单数据($\u POST不工作??)
我使用$.post方法将一个二维数组从js文件传递到一个ajax.php脚本。我的.js函数如下所示Javascript 如何从PHP访问表单数据($\u POST不工作??),javascript,php,jquery,post,Javascript,Php,Jquery,Post,我使用$.post方法将一个二维数组从js文件传递到一个ajax.php脚本。我的.js函数如下所示 function doSendEmail (aData) { var sData = JSON.stringify(aData) $.post('dd-ajax.php', { m: 'sendEmail', sData: sData }, function () {}) .done(function () { console.log('Done') }) .fa
function doSendEmail (aData) {
var sData = JSON.stringify(aData)
$.post('dd-ajax.php', { m: 'sendEmail', sData: sData },
function () {})
.done(function () { console.log('Done') })
.fail(function (err) { showMessage(`unexpected error: ${err.responseText}`) })
.always(function () { spinner(false) })
}
然后,我的Ajax.php文件如下所示:
if ($method == "sendEmail") {
$sData = array_key_exists('sData', $_POST) ? $_POST['sData'] : NULL;
foreach($sData as $line) {
$to = $line[7];
$name = $line[0];
$subject = 'Email Subject';
$message = `Dear $name, Blah blah blah`;
mail($to, $subject, $message);
}
}
我在浏览器的headers>FormData中看到了我的数据,但我似乎无法访问Php中的任何内容
我已经尝试了上面的数组\u key\u exists
,也尝试了$\u POST[sData]
,但没有乐趣
我是个新手,所以请友善点
data = { 'm': 'sendEmail', 'sData': sData };
$.ajax({
url: 'dd-ajax.php',
type: 'POST',
data: data,
success: function (data) {
console.log('Done');
},
error: function() {
console.log("error");
}
});
在dd ajax.php中
$method = $_POST['m'];
if ($method == "sendEmail") {
$sData = array_key_exists('sData', $_POST) ? $_POST['sData'] : NULL;
foreach($sData as $line) {
$to = $line[7];
$name = $line[0];
$subject = 'Email Subject';
$message = 'Dear $name, Blah blah blah';
mail($to, $subject, $message);
}
}
感谢阿尔瓦罗为我指明了正确的方向$method
在前面的文件中被声明为“=”到$\u GET中的“m”。添加一个已排序的(如果
)。我猜是新手犯的错误。。。。无论如何谢谢你
$method = array_key_exists('m', $_GET) ? $_GET['m'] : NULL;
if ($method == NULL) {$method = array_key_exists('m', $_POST) ? $_POST['m'] : NULL;}
您发送的数据是什么样子的?粘贴一个示例。var\u dump($\u POST)
并查看您的数据。我没有看到任何明显的错误,但无法说出代码失败的地方,因为它依赖于许多未知值的变量。数据中有什么?执行什么回调?你有什么状态码?$\u POST
包含哪些内容?什么是$method
?我的观点是正确的:如果$\u POST['sData']
是一个字符串,尝试循环它是不可能的。您是否已将PHP配置为显示错误消息?