一次$.getJSON不执行的简单记录

别人的代码,拿过来调,发现修改功能都不能用,修改时通过ajax发json获取数据的,看chrome开发者工具发现有发送数据,也有返回值;

发起请求并获取数据,发现回调函数不执行!

$.getJSON(site_url+'?m=test&a=getOne',{id:id},function(d){
  if(d.status){
    vardata=d.data;
    $('input[name="id"]').val(data.id);
    $('input[name="name"]').val(data.name);
  }else{
    Message.fairue(d.info);
    setTimeout(function(){
      // todo
    },2000);
  }
});

php返回数据代码:

if($findOne){
  $this->ajaxReturn($findOne,'success',true);
}else{
  $this->ajaxReturn($findOne,'faild',false);
}

返回的数据在浏览器里看上去也很正常:

{"data":{"id":"1","name":"admin",},"info":"success","status":true}

调了半天。。。

有人说是json格式的问题,有人说是参数的问题,本人js也不熟,排查后一一排除。。。

将浏览器返回json数据粘贴到vim时发现:

<feff>{"data":{"id":"1","name":"admin",},"info":"success","status":true}

<feff> ??? bomb。。。

附:vi bomb操作:

#添加BOM
:set bomb
#删除BOM
:set nobomb
#查询BOM
:set bomb?

查找当前目录下所有含有bomb的文件:

grep -I -r -l $'\xEF\xBB\xBF' ./

最后发现是 /Conf/config.php 有bomb,修改之。。。

项目框架:ThinkPHP

以上这篇一次$.getJSON不执行的简单记录就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • jquery ajax结合thinkphp的getjson实现跨域的方法

    本文实例讲述了jquery ajax结合thinkphp的getjson实现跨域的方法.分享给大家供大家参考,具体如下: jquery中post的应该是不能跨域,网上说get的可以跨域,但是我试了一下也不行,然后就进行最后的拼搏getjson,结果成功,哈哈 js处写作: $.getJSON( "/index.php/Index/test", function(data){ alert(data.dd); } ); 语法: jQuery.getJSON(url,[data],[call

  • jQuery中$.ajax()和$.getJson()同步处理详解

    一.前言 为什么需要用到同步,因为有时候我们给一个提交按钮注册提交表单数据的时候,在提交动作之前会进行一系列的异步ajax请求操作,但是页面js代码会按顺序从上往下面执行,如果你在这过程中进行了异步操作,那么获取不到当前异步操作返回的结果,js会继续执行下一条语句,所以我们需要同步操作请求获取后台返回数据结果后,判断结果是否符合再执行js下一条语句. 二.$.ajax()参数解释 url: 发送请求的地址. type: 请求方式(post或get)默认为get. timeout: 要求为Numb

  • jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析

    本文实例讲述了jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="h

  • 浅析$.getJSON异步请求和同步请求

    先说一下我遇到的问题吧,我之前的一个函数想调用上一个函数的返回值,但是它的返回值一直为空,后来翻了一些资料才明白是异步请求在作怪,不多说,看例子,这是我之前有返回值函数的代码: function get_no_order_array() { var order_info = show_order(); var order = []; $.getJSON("../JSON/customers.json", function (date) { date["man"].f

  • jQuery与getJson结合的用法实例

    本文实例讲述了jQuery与getJson结合的用法.分享给大家供大家参考.具体如下: 这里分析jQuery与getJson结合的一个应用实例,因为json保存数据比较轻巧实用,所以个人比较喜欢Json功能,用这个简单写了一个导航菜单的功能,比较简单的那种,目的是演示如何将jQuery与Json结合起来. 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h

  • 一次$.getJSON不执行的简单记录

    别人的代码,拿过来调,发现修改功能都不能用,修改时通过ajax发json获取数据的,看chrome开发者工具发现有发送数据,也有返回值: 发起请求并获取数据,发现回调函数不执行! $.getJSON(site_url+'?m=test&a=getOne',{id:id},function(d){ if(d.status){ vardata=d.data; $('input[name="id"]').val(data.id); $('input[name="name&q

  • MYSQL读写性能测试的简单记录

    进行测试之前首先保证你已经可以对数据库进行读写:参见 要求:对MYSQL数据库的读写读写性能进行测试.支持多并发.支持调整事物提交记录数. 注意事项: 要运行测试需要 1. 需要修改数据库的配置信息DB_DRIVER.DB_URL.DB_USERNAME.DB_PASSWORD: 2.DB_URL中还要指定哪个数据库.“dbc:mysql://localhost:3306/test”其中的test就是我锁用的那个数据库: 3. 修改TABLE_NAME指定数据库测试的表名(此处是student表

  • Android简单记录和恢复ListView滚动位置的方法

    本文实例讲述了Android简单记录和恢复ListView滚动位置的方法.分享给大家供大家参考,具体如下: 有时候我们需要记录当前ListView滚动到的位置,重新加载的时候要回到原位,不罗嗦,给出代码: //列表滚动 private OnScrollListener ScrollLis = new OnScrollListener() { @Override public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3)

  • Ubuntu中安装MongoDB及执行一些简单操作笔记

    首先安装MongoDB,在终端输入: 复制代码 代码如下: sudo apt-get install mongodb 然后启动数据库MongoDB: 复制代码 代码如下: mongod 可能会出现这样的错误: 复制代码 代码如下: mongod --help for help and startup options  mongod: symbol lookup error: mongod: undefined symbol: _ZN7pcrecpp2RE4InitEPKcPKNS_10RE_Op

  • 简单记录Cent OS服务器配置JDK+Tomcat+MySQL

    项目需要部署到一台CentOS的服务器之上,之前这台服务器上面已经安装了一个Nginx和MySQL,跑的是PHP环境,有一个项目正在运行.而我们最新的项目是用Java写的,服务器是用的Tomcat,所以势必需要把Nginx和Tomcat做一次整合,不过目前项目还在开发阶段,我们就先使用Tomcat默认的8080端口,好了,下面就大概你的"终端"(因为我使用的是Mac系统,默认有SSH,如果是Win系统,请选择其他对应的工具,相信G神会帮助你的~~). 第一步:连接服务器 租用的服务器支

  • js函数setTimeout延迟执行的简单介绍

    setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法: setTimeout(code,millisec) 参数: code (必需):要调用的函数后要执行的 JavaScript 代码串. millisec(必需):在执行代码前需等待的毫秒数. 提示: setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout().实例: 复制代码 代码如下: function timed

  • Html中JS脚本执行顺序简单举例说明

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

  • asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作

    如果要得到返回值,需要用Command的方法. 首先说明,返回值有两种.一种是在存储过程中直接return一个值,就象C和VB的函数返回值那样:另一种是可以返回多个值,存储这些值的变量名称需要在调用参数中先行指定. 这个例子要处理多种参数,输入参数,输出参数,返回记录集以及一个直接返回值(够全了吧?) 存储过程如下: 复制代码 代码如下: use pubs GO -- 建立存储过程 create procedure sp_PubsTest -- 定义三个参数变量,注意第三个,特别标记是用于输出

  • Linux并发执行很简单,这么做就对了

    &的并发功能 time for i in `grep server /etc/hosts | awk '{print $1}'`; do (ssh $i "echo 123; sleep 1; echo 456" &); done real 0m0.063s user 0m0.016s sys 0m0.004s xargs的并发功能 time grep server /etc/hosts | awk '{print $1}' | xargs -P 24 -I {} ss

  • 简单记录C# 条件编译

    第一步:配置管理器中新建解决方案配置 第二步:定义条件编译符号: 第三步:在代码中使用自定义的条件编译 #if CustomDebug Console.WriteLine("dsads"); #endif 以上所述就是本文的全部内容了,希望大家能够喜欢

随机推荐