Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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
Php AJAX JQuery不更新跨文本_Php_Jquery_Ajax - Fatal编程技术网

Php AJAX JQuery不更新跨文本

Php AJAX JQuery不更新跨文本,php,jquery,ajax,Php,Jquery,Ajax,我使用的是星级脚本,脚本正确地更新我的数据库,但返回的文本在我的跨度(avgrat和totalrat)没有更新。两个span标记之间的变量应使用返回值进行更新 返回值: echo json_encode($ratingRow); HTML <div class="col-sm-3"> <?php echo form_open('http://localhost/mysite/rating/rate'); ?> <input name="rating" va

我使用的是星级脚本,脚本正确地更新我的数据库,但返回的文本在我的跨度(avgrat和totalrat)没有更新。两个span标记之间的变量应使用返回值进行更新

返回值:

echo json_encode($ratingRow);
HTML

<div class="col-sm-3">
  <?php echo form_open('http://localhost/mysite/rating/rate'); ?>
  <input name="rating" value="<?php echo $ratingRow['stars']; ?>" id="rating_star" type="hidden" postID="<?php echo $nsid; ?>" />
  <div class="overall-rating">
    Overall Rating of <span id="avgrat"><?php echo $ratingRow['average_rating']; ?></span> Based on <span id="totalrat"><?php  echo $ratingRow['rating_number'] ?></span> votes.
  </div>
  <?php echo form_close(); ?>
</div>

根据投票结果。
脚本

<script type="text/javascript">
  $(function() {
    $("#rating_star").codexworld_rating_widget({
      starLength: '5',
      initialValue: $('#rating_star').val(),
      callbackFunctionName: 'processRating',
      imageDirectory: '<?php echo base_url(); ?>i/icon',
      inputAttr: 'postID'
    }); 
  });

  function processRating(val, attrVal){
    $.ajax({
      type: 'POST',
      url: '<?php echo base_url(); ?>rating/rate',
      data: {'<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>', "postID":attrVal, "ratingPoints":val},
      dataType: 'json',
      success : function(data) {
        if (data.status == 'ok') {
          $("span#avgrat").text($(this).data("average_rating"));
          $("span#totalrat").text($(this).data("rating_number"));
        }else{
          alert('Some problem occured, please try again.');
        }
      }
    });
  }
</script>

$(函数(){
$(“#评级明星”).codexworld_评级小部件({
星长:'5',
初始值:$(“#额定值_星”).val(),
callbackFunctionName:'processRating',
imageDirectory:'i/图标',
InputTR:“posted”
}); 
});
函数processRating(val,attrVal){
$.ajax({
键入:“POST”,
url:“评级/费率”,
数据:{'':'',postID:attrVal,“ratingPoints:val},
数据类型:“json”,
成功:功能(数据){
如果(data.status=='ok'){
$($span#avgrat”).text($(this).data(“平均评级”);
$($span#totalrat”).text($(this).data(“评级编号”);
}否则{
警报('出现问题,请重试');
}
}
});
}
更改这些:

$("span#avgrat").text($(this).data("average_rating"));
$("span#totalrat").text($(this).data("rating_number"));
对这些:

data = JSON.parse(data);
$("span#avgrat").text(data[0]["average_rating"]);
$("span#totalrat").text(data[0]["rating_number"]);
您不能在那里使用此。此处的
指的是
成功
功能。您必须首先使用
JSON.parse(data)
解析数据。因此它从一个字符串变成了一个JavaScript对象这是可选的,因为您已经使用了
数据类型:“json”
现在它应该可以按预期为您工作


数据
是一个对象,而不是一个函数。您使用了
数据(“评级编号”)
,应该是
数据[0][“评级编号”]
等等。请检查更新的答案。

我根据您的建议更新了脚本Praveen,但我在Firebug debugger中收到以下错误。“SyntaxError:JSON.parse:JSON数据第1行第2列的意外字符--data=JSON.parse(data);”Firebug中的箭头指向data.Er中的“d”。。。删除整行并自己键入。看起来有一些编码问题@里塞布。。。否则,请删除该行本身。我删除并手动键入了,同样的错误。错误可能是指返回的数据吗?这是返回的数据。“{”0:{”评级数“:”1“,”平均评级“:”2.0“}”,状态“:”ok“}”@ReeseB实际上我正要问你这个问题。
data
对我来说似乎没问题。@ReeseB删除
data=JSON.parse(data)行,并根据更新方式更改其他行。