Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如果AJAX返回true,请执行一些操作_Jquery_Css_Json_Ajax_Get - Fatal编程技术网

Jquery 如果AJAX返回true,请执行一些操作

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 )

我使用AJAX调用从PHP文件接收JSON格式的数据,关于数据的一部分是否为真,我想更改元素的颜色

我已经试着像这里说的那样做了(
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,它会工作得很好。这真的很有效,我想“这”可能有问题。谢谢,我希望其他人也能从中学习……)是的,但我还没有足够的分数来计算。