我正在尝试使用jQuery UI Autocomplete来显示MySQL数据库中的人员名单.基本功能正在运行 - 当您键入两个或更多字母时,会显示可能的名称列表 - 但是当我将鼠标悬停在列表上或按下向下键以访问列表时,它会消失(下面的2个屏幕截图可能有助于解释一下).
这意味着自动完成变得毫无意义,因为我实际上无法访问列表!如果有人可以提供帮助,我会非常感激!屏幕截图和代码发布在下面.
输入前几个字符,然后会出现菜单

但是,将鼠标悬停或按下"向下"键,它就会消失,然后才能进行选择

HTML:
<div id="chooseaccount">
Choose Account to Edit
<div id="iechooseaccountlabel" class="labeldiv">
<!--[if IE]>
Enter Student Name
<![endif]-->
</div>
<input type="text" class="inputs" id="editname" placeholder="Enter Student Name" />
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$(document).ready(function(){
$("#editname").autocomplete({
source: "names.php",
minLength: 2,
});
});
Run Code Online (Sandbox Code Playgroud)
PHP:
<?php
$mysqli = new mysqli('********', '********', '**********', '*********');
$text = $mysqli->real_escape_string($_GET['term']);
$query = "SELECT name FROM users WHERE name LIKE '%$text%' ORDER BY name ASC";
$result = $mysqli->query($query);
$json = '[';
$first = true; …Run Code Online (Sandbox Code Playgroud) 好的,首先很抱歉,因为我意识到这是一个之前已经多次讨论过的主题 - 相信我,我知道,我已经阅读了之前的所有问题和答案,但仍然无法解决这个问题。
我有一个包含可下载文件的文件夹。出于安全目的,我将此文件放在 webroot 之外。然而,尽管我尽了最大的努力,我还是无法让我的 php 脚本下载文件。
我正在使用使用 Plesk 11 的 Linux VPS Apache 服务器。
(简化的)文件结构如下。该httpdocs文件夹是 webroot。该private/uploadedfiles文件夹是我要下载的位置。
-var
- www
- vhosts
- mydomain.org.uk
- httpdocs (webroot)
- private
- uploadedfiles
Run Code Online (Sandbox Code Playgroud)
我正在使用 jQuery ajax 调用将文件名传递给名为downloadscript.php. 该脚本位于httpdocswebroot 中。脚本如下:
<?php
$filename = $_POST['fbpath'];
$path = '/var/www/vhosts/mydomain.org.uk/private/uploadedfiles/' . $filename;
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($path));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($path));
ob_clean();
flush();
readfile($path);
exit;
?> …Run Code Online (Sandbox Code Playgroud) 我正在写一封电子邮件,要求在提交表格时发送.出于某种原因,\n角色在所有行上都能正确显示,但只有一行.我看不出这一行与其他行有什么区别,所以无法弄清楚它为什么不起作用.代码如下,连同我得到的输出以及使用的变量列表.
正如您在电子邮件中看到的那样,\n"工作地址"行的末尾不起作用,因此"公司名称"只是紧接着,而不是在下一行.然后\n公司名称工作正常,所以家庭地址在下一行.
这是消息的代码:
$xmsg = "First Name: $firstname\n" .
"Last Name: $lastname\n" .
"Work Tel: $worktel\n" .
"Home Tel: $hometel\n" .
"Mobile Tel: $mobtel\n" .
"E-mail: $email\n" .
"Work Address: $workad\n" .
"Company Name: $company\n" .
"Home Address: $homead\n" .
Run Code Online (Sandbox Code Playgroud)
这是输出:
First Name: Joe
Last Name: Bloggs
Work Tel: 0123456789
Home Tel: 0987654321
Mobile Tel: 0789456123
E-mail: joe.bloggs@jb.co.uk
Work Address: Bloggoffice, Joe Street, London, N1 J0E Company Name:
Home Address: 9 Blogg Street, Borough …Run Code Online (Sandbox Code Playgroud) 不确定标题是否完全清楚(不知道如何措辞)所以让我解释一下。
我想尝试将组件名称列表存储在数组中,然后循环使用map(或合适的等效项)以将每个数组值显示为 JSX 组件。
所以类似的东西(感谢这段代码不起作用,只是想展示我希望实现的目标):
render(){
let links = ['DashboardLink', 'CoursesLink', 'AssignmentsLink'];
return (
<div>{
links.map((Link) => {
return <Link key={Link} />
}
}</div>
)
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,结果是:
<div>
<DashboardLink key='DashboardLink' />
<CoursesLink key='CoursesLink' />
<AssignmentLink key='AssignmentLink' />
</div>
Run Code Online (Sandbox Code Playgroud)
然后每个组件将在 div 中呈现。
我对 React 和 ES6 非常陌生,因此对于任何明显的错误,我深表歉意。
谢谢!
我正在使用带有bcrypt的预保存钩子来加密系统上的密码。创建或更改密码时,它可以正常工作。问题在于,每次我更改并保存其他字段(例如电子邮件)时,它似乎都重新加密了密码。
用代码可能更容易解释。这是模型:
const UserSchema = new Schema({
email: {
type: String,
required: true,
lowercase: true,
unique: true,
trim: true
},
password: {
type: String,
required: true
}
})
Run Code Online (Sandbox Code Playgroud)
和钩子:
UserSchema.pre('save', function(next){
const user = this;
console.log(user);
bcrypt.genSalt(10, function(err, salt){
if (err){ return next(err) }
bcrypt.hash(user.password, salt, null, function(err, hash){
if(err){return next(err)}
user.password = hash;
next();
})
})
});
Run Code Online (Sandbox Code Playgroud)
这是我的更新电子邮件地址的代码:
module.exports = function(req, res){
User.findOne({ _id: req.body.user}, function(err, doc){
if(err){
console.log(err);
return;
}
doc.email = req.body.data;
doc.save(function(err, returnData){
if (err){
console.log(err); …Run Code Online (Sandbox Code Playgroud) 所以我已经在我的create-react-app应用程序上使用http-proxy-middleware. 我确定我已经按照信中的说明进行操作,但是每次我尝试单击相关链接时都会收到 404。
我正在使用create-react-appv3.2。
这是我的setupProxy.js文件:
const proxy = require("http-proxy-middleware");
module.exports = function(app) {
app.use(proxy("/api", { target: "http://localhost:3090" }));
};
Run Code Online (Sandbox Code Playgroud)
这是发出http请求的动作创建者
export const signIn = formProps => async dispatch => {
try {
const response = await axios.post("/api/login", formProps);
//.....etc, etc
} catch(e) {
//.....etc,etc
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的快递服务器上的相关路线:
app.post("/login", requireSignIn, Authentication.login);
Run Code Online (Sandbox Code Playgroud)
当开发服务器启动时,我收到以下消息:
[HPM] Proxy created: /api -> http://localhost:3090
Run Code Online (Sandbox Code Playgroud)
所以setupProxy.js显然是被 CRA 发现了,但有什么地方不对劲。我试过在代理设置中添加通配符(例如“/api/*”),但没有成功。我在客户端的控制台中登录了以下 404:
POST http://localhost:3000/api/login 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)
which 指的是 …
node.js express reactjs create-react-app http-proxy-middleware
试着理解这个问题.我有一个<input type='file'>元素用于上传文件,作为旧版浏览器用户拖放选项的替代选项.
拖放上传工作正常,但由于某些原因使用输入选择文件时,files对象返回undefined.
在下面的示例中,我已经包含了一个测试变量来检查事件监听器是否正常工作 - 它是什么 - 但是尝试记录文件的内容是不行的 - 我是否尝试记录完整对象或单个属性.
这是代码:
HTML:
<input type="file" id='uploadFile'>
Run Code Online (Sandbox Code Playgroud)
Javascript(jQuery)
doc.on('change', '#uploadFile', function(){
var file = $(this);
var test = 'Event Triggered';
console.log(test); //Returns 'Event Triggered'
console.log(file.files); //Returns undefined
console.log(file.files[0]); //Returns TypeError: cannot read property '0' of undefined
});
Run Code Online (Sandbox Code Playgroud)
我哪里错了?不禁觉得这是一个愚蠢的疏忽,但任何帮助都会受到赞赏.
谢谢!
每当我使用PHPMailer发送自动电子邮件时,它都会直接进入Gmail中的垃圾邮件文件夹.我自己试图找到解决方案,但我对电子邮件和电子邮件标题不太了解.
任何人都可以解释为什么会这样吗?
下面是PHP代码,后面是从接收器显示的标头.
谢谢!
$mail = new PHPMailer;
$mail->From = "chrisxenongroup@server.xenonacademy.org.uk";
$mail->FromName = 'Xenon Group Academy';
$mail->AddAddress($email);
$mail->Subject = "Your Xenon Group Academy login details";
$mail->IsHTML(true);
$mail->Body = "<html><body><h3>Welcome to the Xenon Group Academy</h3><p>The Academy is an online system that will allow you to access course materials, manage your assignments and network with other Xenon Group students.</p>
<p>To access your account, go to <a href='http://www.xenonacademy.org.uk'>www.xenonacademy.org.uk</a> and use the following details to login.</p><p><pre>E-mail: $email</pre></p><p><pre>Password: " . mysqli_real_escape_string($conn, $_POST['password']) . "</pre></p><br /><br …Run Code Online (Sandbox Code Playgroud) 我在 React 组件中有几个嵌套的 .map 函数,它们似乎工作正常,但由于某种原因,最终地图的 return 语句中的 jsx 没有渲染。
这是代码:
<ul className={`dropdown-menu ${styles.stretch} ${styles.dropdown}`}>
{
courseData.courses[0].levels.map(levels => {
if (levels.id === props.selectedLevel){
levels.options.map(index => {
console.log(index)
return (
<li key={index.number}>
//more content goes here...
</li>
) //return
}) //levels.options.map()
} //if (...)
}) //courseData...map()
}
</ul>
Run Code Online (Sandbox Code Playgroud)
嵌套console.log中的.map()工作正常并显示正确的数据,因此到目前为止一切都很好,但由于某种原因<li>return 语句内的元素没有呈现到页面。我知道这与标签的内容无关,<li>因为它甚至不会用简单的文本节点渲染简单的元素。
我确信我在这里遗漏了一些明显的东西,但我正抓着头发试图弄清楚。任何帮助,将不胜感激!
顺便说一句,该列表是一个引导下拉按钮列表 - 不确定这是否可以部分负责。
所以我花了过去24小时调整我的代码并试图让它工作并搜索SO和谷歌,但没有运气 - 也许有人可以提供帮助!
我的React应用程序在Express上运行,但使用的是webpack-dev-server中间件.当我加载页面时,图像显示为空白,就好像它们不存在一样.我没有在我的控制台中收到任何错误消息(例如没有404错误),但图像元素只是显示alt文本而不显示实际png或svg应该在那里.
顺便说一句,不仅仅是反应组件无法呈现图像 - 我尝试将图像文件硬编码到我的index.html文件中作为测试,这产生了相同的结果.
这是我的代码:
server.js(截断以排除数据库设置和其他快速路由)
const express = require('express');
const webpack = require('webpack');
const webpackDevMiddleware = require('webpack-dev-middleware');
const webpackHotMiddleware = require('webpack-hot-middleware');
const path = require('path');
const mongoose = require('mongoose');
const config = require('./webpack.dev.config');
// SERVER SETUP
const app = express();
const router = express.Router();
var publicPath = path.resolve(__dirname, 'public');
compiler=webpack(config);
app.use(webpackDevMiddleware(compiler, {
publicPath: config.output.publicPath,
stats: {colors: true}
}));
app.use(webpackHotMiddleware(compiler, {
log: console.log
}));
//Routes
// ...additional routes
app.get('*', function(req, res){ …Run Code Online (Sandbox Code Playgroud)