在tp中, 在js中也可以使用 模板变量替换(比如__PUBLIC__)和 模板函数调用(比如: {:U('..')}) 等. 但是 只有直接放在 相应的 模板文件中, 只有放在index.html之类的文件中才能使用模板变量和函数调用, 才能有效, 如果javascript 代码, 放在单独的/另外的 js文件中, 通过 script src的方式引入, 那么,在js文件中, 就不能使用模板变量替换和 模板函数了. 因为这些都将无效! 所以, 如果在另外的/单独的文件中, 使用 ajax的时候, 目标文件就不能使用 U方法了, 而是必须写完整的路径了, 比如: '/index.php/Home/Index/ajaxHandler'

关于 模型类Model 和 数据库类DB 和 数据库驱动类Driver的关系?

  • Library/Think/Db/Driver/Mysql.class.php是mysql数据库的驱动.
  • 驱动类: Think\Db\Driver; 是关于数据库的操作类:
  • 有两个成员方法, 名称很接近, 要注意区分: 一个是 数据库驱动类: Driver子类 Mysql.class.php类 的 : getTables($dbName=''), 另一个是: Model 类的 成员方法getFields($tableName);

  • 而在 Think/Model.class.php中有 getField()方法用来 获取字段值或字段列.

  • 模型类有一个成员就是 数据库$db 来做链接

====================

关于ajax的错误, 可能有多种原因:

  1. 要 通过查看: ff的调试控制台 的"console/debugger/Network" 等 多个标签的 信息 , 查找原因, 可能是
  • $.post 的ajax的请求地址错误: 比如 在分离的js文件中 使用 {:U('...')} 地址: 403 forbidden, 301 not found 等原因

  • 分离的js文件中, ajax请求的地址写成完整的地址, 可以是 pathinfo格式的, 操作名最后的.html可以要, 也可以不加.

  • 对ajax的调试 , 要遵从 从简到繁的原则: 在 ajax处理函数中, 先只写最基本的输出返回, 来测试请求地址是否正确; 然后只输出一个简单的 字符串, 来判断返回是否正确; 最后查看结果是否能够输出.

  • 可能是返回结果的格式错误
  • 甚至是 后台处理函数 本身的 错误也可能导致 ajax的失败!

  • 其中很重要的一点是, 看ajax 接收的值是否正确, 于是 在ajaxHandler函数中 只是 { echo $foo = $_POST['foo']; } 看接收到 的结果是否正确.
    然后在 $.post的 回调函数中, 什么都不做, 只是 console.log(ret) 查看返回的值...

=================

谁说在win下 不区分大小写?! 抱有这样的思想的人,是要吃大亏的, 比如javascript中就是 严格区分大小写的, 比如在js 中 你写 $('#somefoo').val(), 而你实际的节点id是 id='someFoo', 那么你将获取不到节点的值. 你在console.log控制台 (会显示在 哪一行 有输出) 上将会看到 输出的值为 空 (什么都没有) . 就有这么一个错误折腾了将近几个小时!


折扣的说法: discount =off 所以说 打多少折扣: you can get/receive 10% off = discount

10%: ten percent (of)
yuan: 是单复数一样的, 所以 没有 yuans 的说法。 比如: ten yuan、 five thousand and five hundred fifty-five yuan.

虽然如此, 但是: 有三个词语: nonetheless, nevertheless 和 however:
none-the-less主要是从 量上/程度 上 来表示 转折: none表示 没有
never-the-less 主要是从时间上 来表示转折: never表示 从来没有.

除了在时间 /程度上有 细微的差别外 , 两者可以互换: 放在句首, 句中, 都要加 逗号comma, 而放在 句末可以不加逗号.


开发过程中, 不强迫: 英文和拼音 可以结合,都使用; 独立/外接文件和 内联样式都可以使用; 质量70-80就好了

先期开发的时候, 一定不要用 css和额外的(除必须的功能实现之外的)js, 先写后台php函数/类/文件 和数据库, 因为这两部分是不需要 界面美化和优化的. 只有当所有的 功能都实现了后, 再来美化/优化 前端的内容. 因为 前端 界面的美化和优化 是 无穷无尽的. 是 无止境的. 这一点 非常重要!!

注册工具regsvr32
regsvr32: reg- server -system32: 是指 注册 服务器( 有这样的 过时的命令: regserver) 到 system32 , 所以命令的名称是: regsvr32 而不是 regsrv32;
而regasm: reg-asm 是注册asm的.net服务
regsvr32 是注册 dll和 active X 的工具, 有/i选项 注册 和 /u 卸载/反注册 的功能.

snip是剪刀, "动词: 剪" 的意思
所以 snipping tool就是 剪刀工具, 就是 win的 截图工具, 这个截图工具的 图标就是一个 剪刀!

为什么 在有些 ghost版中, 不能使用 win的 截图工具呢?

  • 是因为她精简了 snippingtool.exe的功能, 具体说就是删除 了 这个工具需要的两个dll库文件, 一个是 tpcps.dll 一个是 inkobj.dll
  • 使用tasklist /m tpcps.dll , tasklist /m inkobj.dll 可以清楚地看到 是 snippingtool.exe这个进程在使用它们
  • 所以 , 如果不能使用 snippingtool的话, 检查system32是有有这两个dll文件, 如果没有就去下载并用 regsvr32 注册.

关于 select2的使用, 参考: https://select2.org/getting-started/basic-usage

关于php下的ajax赋值传值的调试的更多相关文章

  1. jquery的ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 代码如下: $.ajax({ dataType : ‘json', type : ‘POST', url : ‘http: ...

  2. HBuilder+eclipse开发:使用ajax异步传值生成首字母索引

    使用ajax异步传值生成首字母索引大致有以下几个步骤: 1.服务器端使用servlet提取出数据库里的数据; 2.使用首字母工具类对数据进处理得到首字母; 3.再将首字母和数据一一对应存入json数组 ...

  3. ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 复制代码 代码如下: $.ajax({ dataType : ‘json',type : ‘POST',url : ‘ht ...

  4. layui给select下拉框赋值

    转: layui给select下拉框赋值 layui给select下拉框赋值 //重新渲染表单函数 function renderForm() { layui.use('form', function ...

  5. MVC中使用Ajax提交数据 Jquery Ajax方法传值到action

    Jquery Ajax方法传值到action <script type="text/javascript"> $(document).ready(function(){ ...

  6. JSON.stringify实例应用—将对象转换成JSON类型进行AJAX异步传值

    在上一篇中,对JSON.stringify()方法有了初步的认识,并且做了一些简单的例子.本篇将进一步将JSON.stringify用在复杂些的实例中,例如如下需求: 在进jQuery AJAX异步传 ...

  7. Js 赋值传值和引用传址

    赋值传值和引用传址 在JavaScript中基本数据类型都是赋值传值,复合数据类型都是引用传址(传地址) 基本数据类型的变量名和数据是直接存在"快速内存"(栈内存)中,而复合数据类 ...

  8. Jquery ajax异步传值的两个实用的方法,你看后肯定会用第二个

    故名思议,你是个asp.net  或者是搞PHP的或者 是javaweb的 ,但是为了提高界面的效率,你必须会实用jquery的ajax,当然,在ajax异步传值的时候很头疼的一件事情就是,拼接字符串 ...

  9. 【TP3.2】TP3.2下实现ajax分页(原创+亲测可用)

    一,写在最开始:ajax分页的原理,是利用了js的ajax执行请求,获取分页list和分页page [代码块],去替换页面显示数据的[代码块] 技术:js的ajax + TP3.2的fetch(&qu ...

随机推荐

  1. asp.net core 使用NLog记录日志到txt文件

    一.使用VisualStudioCode创建一个webapi项目(也可以是mvc等).一个类库(用于封装记录日志方法,当然如果使用依赖注入到控制台项目,就不需要此类库了). 二.在类库中添加NLog. ...

  2. tomcat部署公共jar包

    如果每次打war包都要把所有依赖jar放在WEB-INF/lib下,是很傻的做法,war包很大,也浪费内存.参考之前jboss上部署公共jar的经验,tomcat实现起来想来也不困难. 1. 参照ma ...

  3. 前端 CSS 注释

    /*开头 */ 结尾 /*这是注释*/ <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  4. Android编程 控件与布局

    控件和布局的继承结构 常用控件 1.TextView <?xml version="1.0" encoding="utf-8"?> <Line ...

  5. 我的第三篇博客(激动激动真激动!!!)A-B Problem

    #210. 差(A-B problem) 题目描述 楠楠在网上刷题,感觉第一题:求两数的和(A+B Problem)太无聊了,于是增加了一题:A-B Problem,难倒了一群小朋友,哈哈. 题目是这 ...

  6. arcgis 画图工具

    arcgis 4.x系列JavaScript API在4.4及以前的版本对画图工具(Draw)是不支持的,自4.5版本后才提供Draw的类.相关连接:https://developers.arcgis ...

  7. UGUI中UI与模型混合显示

    法一: 利用Render Texture 在project面板创建 在面板中在创建一个Camera,对准要显示的模型 对Render Texture 进行设置 在Canvas下创建RawImage 就 ...

  8. Java面试宝典(2018版)

    置顶 2018年11月10日 23:49:18 我要取一个响亮的昵称 阅读数:8893    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chen ...

  9. spring boot 热部署,省去频繁编译的步骤

    一.热启动: 每自修改后, 程序自动启动Spring Application上下文. Pom中直接添加依赖即可: <dependency>            <groupId&g ...

  10. Python 冒泡排序、归并排序、快速排序

    冒泡排序 原理: 代码: def bubble_sort2(arr):for j in range(len(arr) - 1, 0, -1): # [n-1, n-2, ....2, 1]for i ...