Jquery 如果AJAX返回true,请执行一些操作
我使用AJAX调用从PHP文件接收JSON格式的数据,关于数据的一部分是否为真,我想更改元素的颜色 我已经试着像这里说的那样做了(Jquery 如果AJAX返回true,请执行一些操作,jquery,css,json,ajax,get,Jquery,Css,Json,Ajax,Get,我使用AJAX调用从PHP文件接收JSON格式的数据,关于数据的一部分是否为真,我想更改元素的颜色 我已经试着像这里说的那样做了(async:false): 但它并没有发挥应有的作用 $.ajax({ url: 'preveri.php', data: { "row": row, "col": col }, type: 'GET', dataType: 'json', async: false, success: function( data )
async:false
):
但它并没有发挥应有的作用
$.ajax({
url: 'preveri.php',
data: {
"row": row,
"col": col
},
type: 'GET',
dataType: 'json',
async: false,
success: function( data ){
var jsonstuff = data;
var trys = data.trys[0];
var result = data.result[0];
var finished = data.finished[0];
if (result == "true") {
$(this).attr("style", "background-color: green");
} else {
$(this).attr("style", "background-color: red");
}
}
});
在AJAX调用之前,我已经尝试过使用它,因此它肯定会起作用:
$(this).attr("style", "background-color:red");
我还尝试用元素的ID替换这个
,但它也不起作用。我还尝试将结果
作为一个全局变量,然后在ajax之后调用if-else
PHP中的JSON数据是:
$data = array();
$data['result'] = array($Result);
$data['trys'] = array($trys);
$data['finished'] = array($finished);
$myJSON = json_encode($data);
首先要定义$(this)golbal并尝试下面的代码
var this_var =$(this);
$.ajax({
url: 'preveri.php',
data: {"row": row,"col": col},
type: 'GET',
dataType: 'json',
success: function( data ){
var jsonstuff = data;
var trys = data.trys[0];
var result = data.result[0];
var finished = data.finished[0];
if (result == "true") {this_var.css("background-color","green");} else {this_var.css("background-color","red");}}});
首先,删除
async:false
。浏览器会在控制台中显示有关其使用的警告,这是一种非常糟糕的做法。其次,数据
(因此,结果
)的价值是什么?假设AJAX调用甚至成功。还可以尝试检查控制台是否有错误。JSON数据是什么?这不是您所认为的……试试这个-$(“#您的elementid”)。style(“bgcolor”,“#FF0000”)//red@user557657就像我说的,如果我在ajax之前使用css,它会工作得很好。这真的很有效,我想“这”可能有问题。谢谢,我希望其他人也能从中学习……)是的,但我还没有足够的分数来计算。