这真的让我很烦恼,因为我无法用回声回应客户。
我需要用 JSON 响应以下数据,
header("Content-type: application/json");
$response = array();
$response['username'] = $user;
$response['password'] = $pass;
json_encode($response);
但是,我需要通过 HTML 文件来完成,例如:
Template::set('response', json_encode($response));
原因是,我的框架总是需要这样的页面输出:
Template::set('response', array());
否则它会尝试自己执行。(要么是错误页面,要么是空 html 响应)
所以我不能用 JSON 标头和回显来响应。我基本上是想找到一种解决方法。如果我无法做到这一点,我会稍微调整我的框架以响应标题,但如果可能的话,我更喜欢使用一些解决方法。
附言。顺便说一句,这就是我的 jQuery 的运行方式。我相信这里没有问题,但我可能弄错了,所以也看看这个。
$("#doLogin").click(function(e) {
e.preventDefault(); // prevent normal form submit
$("#login-result").html('<img src="<%THEME%>images/loading.gif">');
var formData = $("#loginForm").serialize();
$.post("?page=login", formData, function(response)
{
alert(response.username);
$("#login-result").html(response.username);
},'json');
});