我有这样的代码
<form>
<input type="text" value="" name="someval">
<button id="ajax-button">ajaxButton</button>
</form>
<script>
$(document).ready(function(){
$('#ajax-button').click(function(e){
e.preventDefault();
$.ajax({
type: "GET",
url: "action.php",
data: { text : $('input[name=someval]').val() },
dataType: "text",
success: function (data){
alert(data);
}
});
});
});
</script>
现在我尝试在php中回显Ajax返回的值。
我试试
echo json_encode($text);
echo $text;
echo $_GET['text'];
Al错了。
如何在PHP中获取它。 感谢
答案 0 :(得分:2)
设置表单的属性以获得语义正确的html
<form action="action.php" id="someForm" method="POST">
<input type="text" value="" name="someval">
<select id="someSelect">
<option value="some_1">some 1</option>
<option value="some_2">some 2</option>
<option value="some_3">some 3</option>
</select>
<button id="ajax-button">Send</button>
</form>
您的脚本
<script>
$(function(){
var form = $("#someForm"),
select = $("#someSelect"),
url, formData;
form.submit(function(event){
event.preventDefault();
url = form.attr("action");
formData = form.serializeArray();
$.post(url, data, function(response){
console.log($.parseJSON(response));
});
});
select.change(function(){
url = form.attr("action");
formData = form.serializeArray();
$.post(url, data, function(response){
console.log($.parseJSON(response));
});
});
});
</script>
您的php文件(表单的action属性中的文件集路径)。
<?php
var_dump($_POST);
?>
答案 1 :(得分:0)
请改用data: 'text=' + $('input[name=someval]').val() ,
。在PHP中,您可以使用echo $_GET['text'];
直接访问它,而无需对json进行编码。
否则json的语法是data: { "text" : $('input[name=someval]').val() },
。