我正在尝试将使用jQuery AJAX传递的数据变量的值提取到php页面。怎么解决?
以下是HTML页面代码:
<input id="name" placeholder="Enter your name." />
<button id="submit">Submit</button>
<div id="message"></div>
在按钮上单击此jQuery AJAX调用php页面:
$.ajax({
type: "POST",
url: "jquery-ajax-hello.php",
contentType: "application/json; charset=utf-8",
data: '{"name":"' + $("#name").val() + '"}',
success: function (result, status, xhr) {
$("#message").html(result);
},
error: function (xhr, status, error) {
$("#message").html("Result: " + status + " " + error + " " + xhr.status + " " + xhr.statusText)
}
});
PHP页面代码是:
<?php
$name = $_POST['name'];
echo "Hello ".$name.", How are you ?";
?>
在php页面中,我无法获取数据变量'name'值?
请帮帮忙?
答案 0 :(得分:2)
你的data
应该是一个对象,你传递的是一个字符串,所以它应该是
data: {
name: $("#name").val()
},
答案 1 :(得分:1)
表格数据
<input type="text" id="name" placeholder="Enter your name." />
<button id="submit">Submit</button>
<div id="message"></div>
Jquery部分
$(function() {
$("#submit").click(function() {
var name = $('#name').val();
$.ajax({
url : 'success.php',
method: 'POST',
data : {name:name},
success : function(res) {
$('#message').append(res);
}
});
});
});
success.php
<?php
$name = $_POST['name'];
echo "Hello Mr ".$name ;
?>
答案 2 :(得分:0)
将数据属性更改为
data: {name: $("#name").val() }
它会正常工作
答案 3 :(得分:0)
将数据更改为:
data: { name: $("#name").val() }
因为data
必须是包含key : value
对的对象
在你的情况下:
data: '{"name":"' + $("#name").val() + '"}'
{}
包含单引号。删除它们。