我有一个带有按钮的html表单,其上有一个onclick事件
<form id = "abc" action = "xyz.php" method = "post">
<input type="button" name="submitButton" value="Submit"
id="submitButton" onclick = "Function()">
</form>
在JS代码中,我试图发布一个文本框的值,并试图通过json_encode从PHP获取数组。
var valueToSend = $('#textbox').val();
var imagesReturned = new Array();
$.ajax({
url: "xyz.php",
type: "POST",
data: valueToSend,
dataType:"json",
success: function(result) {
var data = jQuery.parseJSON(result);
alert(data);
}
});
这是我的PHP代码,
if(isset($_POST['valueToSend']))
{
$searchValues = explode(' ',$_POST['valueToSend']);
// Some processing here
echo (json_encode($responseArray));
}
当我提醒数据时,我得到空,我错过了什么?
谢谢!
答案 0 :(得分:3)
问题出在您的Ajax请求中,data
键需要一个键/值对,而不仅仅是一个值。
您正在寻找的内容类似于以下内容:
var valueToSend = {
'valueToSend': $('#textbox').val()
}
此外,您将dataType
键设置为json
,因此无需通过parseJSON传递数据变量。因此,success
函数只需要声明如下:
'success': function(result) {
alert(result);
}
答案 1 :(得分:1)
var valueToSend = $('#textbox').val();
var imagesReturned = new Array();
$.ajax({
url: "xyz.php",
type: "POST",
data: {"valueToSend":valueToSend},
dataType:"json",
success: function(result) {
var data = jQuery.parseJSON(result);
alert(data);
}
});
更正ajax中data
的格式
答案 2 :(得分:1)
你的数据领域看起来很可疑
$.ajax({
url: "xyz.php",
type: "POST",
data:{valueToSend:valueToSend},
dataType:"json",
success: function(result) {
alert(result);
}
});
答案 3 :(得分:0)
问题出在PHP代码中。
我删除了支票,if(isset($ _ POST ['valueToSend']))及其工作......