在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. CITS1401 Computational Thinking with Python

    Department of Computer Science and Software EngineeringCITS1401 ComputationalThinking with PythonPro ...

  2. jmeter 之 if controller

    jmeter版本5.0.下面是jmeter5.0的if逻辑控制器的截图 标红字体的意思大概是,如果勾选了 下面的 interpret condition as variable expression ...

  3. CF1139D Steps to One

    题目链接:洛谷 这个公式可真是个好东西.(哪位大佬知道它叫什么名字的?) 如果$X$恒$\geq 0$,那么 $$E[X]=\int_0^{+\infty}P(X>t)dt$$ 呸,我什么都没写 ...

  4. 了解JVM运行时的内存分配

    了解JVM运行时的内存分配 前言 上文中,在介绍运行时数据区域中的 JAVA 堆时,提到了 JVM 中的堆,一般分为三大部分:新生代.老年代.永久代,本文将进一步了解运行时的内存分配情况. 正文 1. ...

  5. 浏览器User-Agent大全

    what's the User-Agent UserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA.它是一个特殊字符串头,是一种向访问网站提供你 ...

  6. C# .net 语言加密方案

    C# .net 语言加密方案 方案背景 当前C# .net语言的应用范围越来越广泛,IIS 的服务器架构后台代码.桌面应用程序的 winform .Unity3d 的逻辑脚本都在使用.C# .net ...

  7. nginx隐藏tp路由index.php

    ---------------------------------------------- 也可以找到vhosts.conf文件修改, 重启nginx,service nginx restart

  8. MailKit使用IMAP读取邮件找不到附件Attachments为空的解决方法

    今天发现有些邮件无法读取Attachments,邮件明明有附件,但使用Mailkit读取时,Attachments为空,我用的IMAP协议读取收件箱里的邮件,处理完后移动已删除: foreach (v ...

  9. Linux 常用命令,处理端口和Tomcat,mysql

    查看端口占用 1.lsof -i:端口号 2.netstat -tunlp|grep 端口号 都可以查看指定端口被哪个进程占用的情况 kill -9 进程号    强制结束进程 启动 1.使用 ser ...

  10. jOrgChart二叉树效果

    引进文件: <link rel="stylesheet" type="text/css" href="Public/com/jQrgChart/ ...