一、VScode端
(1) net::ERR_FILE_NOT_FOUND 问题!
网页引用本地文件的时候
控制台报了ERR_FILE_NOT_FOUND这个错误
首先先查找css的引入路径是否正确。
这边的css引入多了一个/,因此在查找图片路径的时候回报错。
(2)Invalid shorthand property initializer问题(无效的速记属性初始值设定项)
简单而言就是赋值出错,例如下面的对象出现的问题:
var obj2 = {
age = 20,
say: () => {
// console.log(this.age);
alert(this.age);
}
}
obj2.say(); //输出underfine
就是其中的age赋值出现差错 应该是:而不是=
(3):Uncaught SyntaxError: Unexpected token < in JSON at position 0
这是在php后端这边打印了问题,不允许被打印:
var_dump($res);
这边应该注释掉
(4):无法验证,因为未设置任何 PHP 可执行文件。请使用设置 “php.validate.executablePath” 配置 PHP 可执行文件。
在VScode中点击右边的三个点...(更多操作),然后查找json-会弹出setting.json设置,setting.json在这里面假如此行代码即可(后面的是自己软件的路径)
"php.validate.executablePath": "F://wamp//wampmanager.exe",
二、node.js常见问题梳理
(1)文件编码写错 TpyeError
这边的文件编码应该是:utf-8
(2)gulp遇到错误:The following tasks did not complete: default Did you forget to signal async completion?..
const gulp = require('gulp'); //引入gulp模块
const htmlmin = require('gulp-htmlmin'); //引入gulp压缩html模块
const fileinclude = require('gulp-file-include'); //引入gulp-file-include模块,用于提取公共部分
//html任务
//1,html文件中代码的压缩操作
//2,抽取html文件中的公共代码、
gulp.task('htmlmin', function (cb) {
gulp.src('./src/*.html')
//调用fileinclude() 用于抽取公共代码
.pipe(fileinclude())
//压缩html中的文件代码
.pipe(htmlmin({
collapseWhitespace: true
})) //压缩空格
.pipe(gulp.dest('dist'));
cb();
});
思路:如果任务(task)不返回任何内容,则必须使用 callback 来指示任务已完成。
在如下示例中,callback 将作为唯一一个名为 cb() 的参数传递给你的任务(task)。
解决方法:就是把箭头函数修改为普通的回调函数,并且调用
3:arr.map is not a function at Object.success(在arr.map不是Object.success的函数)
错误的JS代码
// 初始化 获取第一页的内容渲染到页面
function init() {
ajax2({
type: 'get',
url: 'api/010.getdata.php',
data: 'page=' + iPages + '&num=' + num,
success: function (str) {
// console.log(str);
let arr = JSON.parse(str);
// console.log(arr);
let html = arr.map((item, index) => {
return `<li data-id="${item.gid}">
<p class="title">${index + 1}.${item.title}</p>
<p class="price">${item.price}</p>
</li>`;
}).join("");
list.innerHTML = html;
}
});
}
init();
php中: 由于数据是存在data对象下的,所以前端遍历的时候,需要进入data
// 一个页面不用出现两个echo,否则前端数据不好处理
$data = array(
"data" => $connect,//这是10条数据
"pages" => $res2->num_rows,//这是总的条数
"page" => $page,//第几页
"num" => $num//每一页的数据条数
);
//把数据传给前端,先把数据转为字符串
echo json_encode($data,JSON_UNESCAPED_UNICODE);//防止中文转意
正确的JS代码
// 初始化 获取第一页的内容渲染到页面
function init() {
ajax2({
type: 'get',
url: 'api/010.getdata.php',
data: 'page=' + iPages + '&num=' + num,
success: function (str) {
// console.log(str);
let arr = JSON.parse(str);
// console.log(arr);
//由于没有进入data对象遍历,查找不到数据
let html = arr.data.map((item, index) => {
return `<li data-id="${item.gid}">
<p class="title">${index + 1}.${item.title}</p>
<p class="price">${item.price}</p>
</li>`;
}).join("");
list.innerHTML = html;
}
});
}
init();
三、浏览器跨域出错问题
(1):Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension
1.在google桌面图标右键—属性—快捷方式标签页—目标(就是google浏览器的安装路径)中路径后面添加" --allow-file-access-from-files",(注意前面有空格)