如何创建简单的json响应

时间:2014-02-22 07:27:41

标签: php html json

<?php
$num1 = $_REQUEST['num1'] ;
$num2 = $_REQUEST['num2'] ;
$tot = $num1 + $num2 ;
echo "Total is ".$tot ;
?>
<html>
<body>
<form method="post" action="test.php" >
<label>#1</label>
<input type="text" name="num1" />
<label>#2</label>
<input type="text" name="num2" />
<input type="submit" value="Add" />
</form>
</html>

我有这个PHP。我想要做的是,只要我输入提交按钮,结果应该是json响应。或者通过网址回复。我是json回应的新手。

这可能吗?请帮忙。

3 个答案:

答案 0 :(得分:0)

$num1 = $_REQUEST['num1'] ;
$num2 = $_REQUEST['num2'] ;

$tot = $num1 + $num2 ;

$response["Total"] = $tot;
return json_encode($response);

答案 1 :(得分:0)

尝试这样的事情。

$response['status'] = '1';
$response['message'] = 'success, you have Json encoded something';

header('Content-Type: application/json');
echo json_encode($response);

答案 2 :(得分:0)

这是一个简单的例子,其中包含Javascript位的完整性。这应该也可以跨域工作,因为我在响应中添加了jsoncallback。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("form").on("submit", function(event) {
            self = $(this);
            event.preventDefault();
            $.getJSON("/test.php", $(this).serializeArray(), function(response) {
                    console.log(response);
                    self.append("<h3>" + response.total + "</h3>");
                    });
            });
});
</script>
<html>
<body>
<form>
<label>#1</label>
<input type="text" name="num1" />
<label>#2</label>
<input type="text" name="num2" />
<input type="submit" value="Add" />
</form>
</html>

test.php的:

<?php
header('Content-type: application/json');
$num1 = $_REQUEST['num1'];
$num2 = $_REQUEST['num2'];
$response["total"] = $num1 + $num2;
echo $_REQUEST['jsoncallback'] . json_encode($response);
?>