我正在用JQuery和PHP构建一个ajax表单。 PHP文件验证提交的数据并发送回json编码的消息。但是,如果关闭了javascript,则消息如下所示:
{"error":true,"msg":"- Please enter your name!"}
如果浏览器中没有启用javascript,会使用什么方法显示消息?
这是我目前用来将消息发送回JQuery的PHP函数:
function mcResponseMessage($mcRespBool, $mcRespMessage){
$mcReturn['error'] = $mcRespBool;
$mcReturn['msg'] = '- '.$mcRespMessage;
echo json_encode($mcReturn);
exit();
}
谢谢!
答案 0 :(得分:1)
您可以在AJAX请求中放置一个标志,声明它是一个AJAX请求,因此您可以为AJAX请求输出JSON,并在正常提交表单时输出消息:
$.ajax({
data : { ajax : true }
...the rest of your AJAX code here
});
然后在你的PHP脚本中:
if (isset($_GET['ajax']) && $_GET['ajax'] == true) {
echo json_encode(array('error' => true, 'msg' => '- Please enter your name!'));
} else {
echo '- Please enter your name!';
}
请注意,如果您使用的是post
类型的AJAX调用,那么PHP需要更改为引用该事实:$_POST['ajax']
而不是$_GET['ajax']
。
答案 1 :(得分:1)
如果禁用Javascript,则无法对JSON响应执行任何操作。如果您想支持禁用脚本的用户,那么您必须以更好的方式编排事物:
答案 2 :(得分:0)
如果未启用javascript,则无论如何都不会执行jQuery调用。你的应用程序将会死亡。我建议在页面加载时检查JS,这会让你知道你是否可以使用你的jQuery函数,或者你是否必须使用帖子。