我在此代码中使用ajax使用post方法使用JSON请求
$(document).ready(function() {
$(document).on('submit', '#registration_check', function() {
var data = $(this).serialize();
$.ajax({
type: 'POST',
url: 'apidomain.com',
data: data,
success: function(data) {
$("#registration_check").fadeOut(500).hide(function() {
$(".result_1").fadeIn(500).show(function() {
$(".result_1").html(data);
});
});
}
});
return false;
});
});
响应将在此元素上返回3个字段,例如姓名,电子邮件,电话:
<div id="result_1"></div>
到目前为止,它运行良好,但是我打算做的是,如果ajax响应发现一些返回值为null,则我想显示警报或弹出消息。例如:
如果JSON响应返回: 姓名:jhon,电子邮件:jhon@doe.com,电话:123456789 用户将重定向到另一个页面(到目前为止已完成)
但是如果JSON响应返回 名称:jane,电子邮件:jane@doe.com,电话:
弹出窗口或警报将出现,文本电话号码为空。
答案 0 :(得分:1)
如果您的数据是JSON对象,则可以执行以下操作:
success: function(data) {
for (var i in data) {
if (!data[i]) {
alert(/* MESSAGE HERE */)
return;
}
}
// Your regular code here
}
答案 1 :(得分:1)
您可以在php文件中创建值的关联数组,并以
之类的json格式回显它echo json_encode($array);
然后您将在这样的ajax响应中收到此消息
var objs = JSON.parse(data);
然后,您可以使用name
,email
和phone
之类的键来解析值,这些键是在php文件的关联数组中定义的。
console.log(objs.name);
console.log(objs.email);
console.log(objs.phone);
这是您可以单独解析值的方式。您也可以按照自己的方式应用条件
答案 2 :(得分:0)
首先想到的是:您是否需要在document元素中使用JSON响应,或者它是您不知道如何使用jQuery Ajax?
无论如何,此解决方案在两种情况下都可以为您提供帮助:
$(document).ready(function()
{
$(document).on('submit', '#registration_check', function()
{
var data = $(this).serialize();
$.ajax({
type : 'POST',
url : 'apidomain.com',
data : data,
dataType: 'json', // tell jQuery, that the response data will be a JSON - it will be parsed automatically
success : function(data)
{
// now you have a parsed JSON object in the 'data' var
var show_alert = false;
if (data.phone === null || !data.phone.length) {
show_alert = true;
}
if (data.email === null || !data.email.length) {
show_alert = true;
}
if (show_alert) {
alert('here is the alert :)');
}
$("#registration_check").fadeOut(500).hide(function()
{
$(".result_1").fadeIn(500).show(function()
{
$(".result_1").html(JSON.stringify(data));
});
});
}
});
return false;
});
});