关于php下的ajax赋值传值的调试
在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的错误, 可能有多种原因:
- 要 通过查看: 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递归详解编程语言
- PHP file_get_contents 读取js脚本的问题详解编程语言
- 分钟结合简单快捷:PHP跟MySQL搭配,5分钟搞定!(php与mysql5)
- 迈出新步伐:Linux下快速PHP升级(linux下php升级)
- MySQL事务处理流程及PHP实现(mysql事务php)
- 安装完美:PHP与MySQL的默契(php和mysql安装)
- 解锁PHP的高效Oracle配置(php配置oracle)
- 利用PHP和Redis进行高效搜索(phpredis搜索)
- Linux下如何调试PHP程序(linux调试php)
- PHP轻松获取MySQL错误信息教程(php获取mysql错误)
- PHP在Linux中的路径指引(php路径linux)
- MySQL与PHP的连接:实现快速数据库访问(mysql连接php)
- Linux系统下快速配置安装PHP环境(linux 安装php)
- PHP与MSSQl的兼容性探索(php mssql 兼容)
- 实现更高效的MySQL数据库操作——以PHP为主的连接池(php mysql连接池)
- 馆PHP编程与MySQL建立图书馆管理系统(php mysql 图书)
- 使用Redis锁实现PHP程序的安全性(redis锁机制 php)
- PHP实现高效的Redis连接(redis连接 php)
- php生成WML页面方法详解
- php实现jQuery扩展函数
- php通过COM类调用组件的实现代码
- php截取后台登陆密码的代码
- php安全开发添加随机字符串验证,防止伪造跨站请求
- php目录操作实例代码
- 浅谈EclipsePDT调试PHP程序
- PHP中使用虚代理实现延迟加载技术
- php中常量DIRECTORY_SEPARATOR用法深入分析