【问题标题】:Why it's not working when I try to parse the data in ajax为什么当我尝试解析 ajax 中的数据时它不起作用
【发布时间】:2018-06-29 10:05:07
【问题描述】:

我正在使用 ajax 上传 excel 文件,然后使用 json_encode 从上传页面接收状态和失败的原因到 PHP 页面 ajax 函数,但我无法访问每个数据数据警报显示完美

$(document).ready(function() {
  $('#excel_file').change(function() {
    $('#export_excel').submit();
  });
  $('#export_excel').on('submit', function(event) {
    event.preventDefault();
    $.ajax({
      url: "excelupload.php",
      method: "POST",
      data: new FormData(this),
      contentType: false,
      processData: false,
      success: function(data, status) {
        alert(data); //
        var datas = JSON.parse(data); // not working
        $('#result').html(datas.a); //not woking
        $('#reason').html(datas.b);
        $('#excel_file').val('');

      }
    });
  });
});
<tr style="background-color:#666;">
  <td style="color:#FFF;">
    <div id="result" style="color:red;"> </div>
  </td>
  <td style="color:#FFF;">
    <div id="reason" style="color:red;"> </div>
  </td>
</tr>

PHP:

<?php            
$insertTable= mysql_query("INSERT INTO `rt_state_mst`( `OLE_STATE_NAME`, `OLE_COUNT_ID`) VALUES ( '$state' , '$country_result[0]');");

echo json_encode(array("a" => $state, "b" => "Record has been added"));
?>

【问题讨论】:

  • &lt;?php ... ?&gt; 块之前的标记是什么?
  • "数据的警报显示完美"。它是什么?它显示了什么?
  • {"a":"北方邦","b":"已添加记录"}{"a":"查谟","b":"已添加记录"}{"a ":"sadas","b":"国家未找到"}{"a":"dsad","b":"国家未找到"}{"a":"as","b":"国家未找到"}{"a":"d","b":"国家未找到"}{"a":"dasd","b":"国家未找到"}{"a":"dsd" ,"b":"未找到国家"}{"a":"asd","b":"未找到国家"}{"a":"d","b":"未找到国家"}{ "a":"as","b":"COUNTRY NOT FOUND"}{"a":"as","b":"COUNTRY NOT FOUND"} 它会在警报中显示此内容
  • 这似乎不是正确的 json 数据
  • 如果可能的话,您能否发布整个excelupload.php 文件代码?

标签: javascript php jquery html ajax


【解决方案1】:

excelupload.php 应该只包含 php 内容。如果您想从 excelupload.php 返回 json_encode 数据,请在您的 ajax 代码中使用以下属性。

dataType: "json",

【讨论】:

  • 当我添加 dataType: "json", 下面的 url ajax 停止工作
  • 当我删除 dataType:"json" 时,在控制台中显示此错误 SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 2 column 49跨度>
  • 你有没有调试过代码,在回显json数据之前,插入查询是工作的? $state 是一个数组吗?
猜你喜欢
  • 1970-01-01
  • 2020-05-27
  • 1970-01-01
  • 2019-10-31
  • 2018-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多