웹 프론트엔드 JS 튜토리얼 Ajax를 사용하여 등록 및 아바타 업로드 기능 구현

Ajax를 사용하여 등록 및 아바타 업로드 기능 구현

Apr 02, 2018 pm 03:50 PM
ajax 업로드 화신

이번에는 Ajax를 사용하여 등록 및 아바타 업로드 기능을 구현하는 방법을 소개하겠습니다. Ajax를 사용하여 등록 및 아바타 업로드 기능을 구현하는 방법은 다음과 같습니다. ajax와 처음 접촉한 후 우리는 CRM 교육 프로젝트를 수행했습니다. 대부분의 그룹에서 사용자를 등록했지만 모두 한 가지 기능을 무시했습니다. 즉, 많은 웹사이트에서 등록 시 아바타를 업로드할 수 있다는 것입니다. 기존 아바타 배열을 아바타로 업로드합니다. (물론 로컬 사진을 업로드하고 자를 수 있는 것은 아직 만들지 않았지만 시간이 있는 한 연구해 보겠습니다.) 그리 오래 걸리지는 않을 것입니다. ).

1. 먼저

등록 페이지

를 작성하고 CSS 파일 이름을 Register.css로 지정했습니다. 여기서는 위 그림에서 해당 효과를 살펴보겠습니다. 페이지가 좀 못생겼으니 신경쓰지 마세요)

추가된 레코드를 표시하는 데 사용되는 information.html 페이지도 있습니다. 이때는 헤더만 있습니다:

2. 작성합니다. 연결 풀 생성 모듈(dbutil.js) 즉, 링크된 js 파일을 생성하기 위해 여기에 users_infor 테이블을 구축했고, 사용한 데이터베이스는 test 입니다.

var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'lovo',
database:"test",
port:3306
});
exports.pool=pool;
로그인 후 복사

3.

데이터베이스에 연결

하고 사용자 데이터를 처리(추가, 삭제, 수정, 쿼리)하는 모듈을 작성합니다(Userdao.js). 데이터베이스를 작동하는 함수의 이름은 모두 getAllUser:

4입니다. .데이터 테이블을 추가, 삭제, 수정, 확인하는 데이터베이스 모듈 운영 기능 작성(Userservice.js):

var dao = require("../dao/UserDao.js");
로그인 후 복사

데이터 테이블에 새로운 레코드를 추가하는 기능인 등록 기능을 정의합니다. user_infor

exports.regist = function(req,res){
var arg;
if (req.method == "get" || req.method == "GET") {
arg = [req.query.username, req.query.pwd, req.query.pics];
} else {
arg = [req.body.username, req.body.pwd, req.body.pics];
}
var sql = "insert into user_infor(u_name,u_pwd,u_pics) values(?,?,?)"
dao.getAllUser(sql, arg, function (err, result) {
if (err) {
console.log(err);
} else {
if (result.affectedRows>0){
res.sendfile("./static/html/information.html")
} else {
res.sendfile("./static/html/regist.html")
}
}
})
}
로그인 후 복사

information.html 페이지 함수, 즉 user_infor 테이블

exports.listAll=function(req,res){
var sql = " select * from user_infor ";
dao.getAllUser(sql,function (err, result, fields) {
if (err){
console.log(err);
} else {
if (result.length>0){
res.json(result);console.log(result)
} else {
res.send("failed");
}
}
})
}
로그인 후 복사

5의 모든 내용을 쿼리하는 함수에서 모든 레코드 표시를 정의합니다. 물론 두 가지 모듈을 소개하는 것도 잊지 마세요. 그리고 mysql에서 node_module이라는 새 폴더를 만들고 이 두 모듈을 그 안에 포함시킵니다.

6. 그런 다음 사용자와 상호 작용하는 js인 기본 js 파일(main.js)을 작성합니다.

var http = require("http");
var express = require("express");
var userser = require("./route/UserService.js");
var url= require("url");
var app = express();
app.use(express.cookieParser());
app.use(express.session({
secret:"123456",
name:"userLogin",
cookie:{maxAge:9999999}
}))
app.set("port",8888);
app.use(express.static(dirname+"/static"));
app.use(express.methodOverride());
app.use(express.bodyParser());
app.post("/regist",userser.regist);
app.post("/list",userser.listAll);
http.createServer(app).listen(app.get("port"),function(){
console.log("服务启动成功!监听"+app.get("port")+"端口");
})
로그인 후 복사

7 다음 js 파일은 각각 등록 및 정보용입니다.

---- ---------------등록 페이지에서 아바타를 선택하는 기능--------------- ------- --------------

rreee

----------정보 페이지에는 기록된 모든 기능이 표시되며, 창이 로드되자마자 모두 표시됩니다--------- - ------------------------------------

function xuanze() {
var pics=document.getElementById("pics");
var picsp = document.getElementById("login_pics");
picsp.style.display = 'block';
var img=document.getElementsByTagName("img");
var picarrs=["../img/user1.jpg",
"../img/user2.jpg",
"../img/user3.jpg",
"../img/user4.jpg",
"../img/user5.jpg",
"../img/user6.jpg",
"../img/user7.jpg",
"../img/user8.jpg",
"../img/user9.jpg",
"../img/user10.jpg",
"../img/user11.jpg",
"../img/user12.jpg",
"../img/user13.jpg",
"../img/user14.jpg",
"../img/user15.jpg",
"../img/user16.jpg",
"../img/user17.jpg",
"../img/user18.jpg",
"../img/user19.jpg",
"../img/user20.jpg",
"../img/user21.jpg",
"../img/user22.jpg",
"../img/user23.jpg",
"../img/user24.jpg"];
for(var i=0;i<picarrs.length;i++){
img[i].src=picarrs[i];
}
for(var j=0;j<img.length;j++){
img[j].onclick=function(e){
var target= e.target|| e.srcElement;
var imgroute=target.src;//此处若弹出imgroute,可以看到完全路径是http:localhost:8888/img/users20.jpg
pics.value=".."+imgroute.substr(21);/*此处要截取后面的部分才是图片的路径,前面的http:localhost:8888要省去,不是我们需要的路径,若不截取将无法识别*/
}
}
}
로그인 후 복사

src, 해당 img 요소가 없다면, 그러면 여기에 경로가 계속 표시되고 그림은 나타나지 않습니다.

window.onload=function(){
var xmlhttpReq;
if (window.XMLHttpRequest)
xmlhttpReq=new XMLHttpRequest();
else
xmlhttpReq=new ActiveXObject("Microsoft.XMLHTTP");
var url="http://localhost:8888/list";
//初始化信息
xmlhttpReq.open("post",url,true);
//添加请求头
xmlhttpReq.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttpReq.send(null);
xmlhttpReq.onreadystatechange = function(){
if (xmlhttpReq.readyState==4 && xmlhttpReq.status==200) {
if (xmlhttpReq.responseText != "failed"){
var userinfor = document.getElementById("userinfor");
var users = eval("(" + xmlhttpReq.responseText + ")");
for (var i = 0; i < users.length; i++){
var newRow = userinfor.insertRow();
newRow.style.height = "100px";
newRow.style.backgroundColor = "skyblue";
newRow.insertCell(newRow.cells.length).innerHTML =users[i].u_name;
newRow.insertCell(newRow.cells.length).innerHTML =users[i].u_pwd;
newRow.insertCell(newRow.cells.length).innerHTML ="<img src=&#39;"+users[i].u_pics+"&#39;>";//此处要在这个单元格里插入img元素,将提交传过来的路径指定为此img的
로그인 후 복사

8 그리고 가장 중요한 점은 데이터베이스에 새로운 user_infor 테이블을 생성할 때 user_pics 필드를 지정하여 사진을 저장할 경로를 지정하는 것입니다.

newRow.insertCell(newRow.cells.length).innerHTML ="<input type=&#39;button&#39; id=&#39;del&#39; id=&#39;" + users[i].u_id + "&#39; value=&#39;删除信息&#39; onclick=&#39;shanchu(this)&#39;/>";
}
} else if (xmlhttpReq.responseText == "failed") {
alert("添加新用户失败");
}
}
}
}
로그인 후 복사

전체 프로젝트의 파일 저장 관계는 다음과 같습니다.

SQLyog 데이터베이스로 열고 main.js를 실행한 후 브라우저에서 Register.html을 열고 등록을 시작한 후 아바타를 선택하세요.

아바타를 클릭하고 돌아오면 텍스트 텍스트가 나타납니다. 아바타 상자가 생성됩니다. 사진 경로는 다음과 같습니다.

등록을 완료하려면 제출을 클릭하세요. 여러 번 성공적으로 등록하면 페이지가 다음과 같이 표시됩니다.

당신은 이 글의 사례를 읽었을 것입니다. 더 흥미로운 정보를 알고 싶다면 PHP 중국어 웹사이트의 다른 관련 글을 주목해 보세요!

추천 도서:

Ajax 및 $.ajax 사용 방법


페이징 기술을 구현하기 위해 ajax를 사용하는 단계에 대한 자세한 설명(코드 포함)

위 내용은 Ajax를 사용하여 등록 및 아바타 업로드 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

jQuery AJAX 요청에서 발생한 403 오류를 해결하는 방법 jQuery AJAX 요청에서 발생한 403 오류를 해결하는 방법 Feb 20, 2024 am 10:07 AM

제목: jQuery AJAX 요청의 403 오류를 해결하는 방법 및 코드 예제 403 오류는 서버가 리소스에 대한 액세스를 금지하는 요청을 의미합니다. 이 오류는 일반적으로 요청에 권한이 없거나 서버에서 거부되기 때문에 발생합니다. jQueryAJAX 요청을 할 때 가끔 이런 상황이 발생합니다. 이 기사에서는 이 문제를 해결하는 방법을 소개하고 코드 예제를 제공합니다. 해결 방법: 권한 확인: 먼저 요청한 URL 주소가 올바른지 확인하고 리소스에 액세스할 수 있는 충분한 권한이 있는지 확인하십시오.

Kugou에 자신의 음악을 업로드하는 간단한 단계 Kugou에 자신의 음악을 업로드하는 간단한 단계 Mar 25, 2024 pm 10:56 PM

1. Kugou Music을 열고 프로필 사진을 클릭하세요. 2. 오른쪽 상단의 설정 아이콘을 클릭하세요. 3. [음악작품 업로드]를 클릭하세요. 4. [작품 업로드]를 클릭하세요. 5. 노래를 선택하고 [다음]을 클릭하세요. 6. 마지막으로 [업로드]를 클릭하세요.

QQ Music에 가사를 업로드하는 방법 QQ Music에 가사를 업로드하는 방법 Feb 23, 2024 pm 11:45 PM

디지털 시대가 도래하면서 음악 플랫폼은 사람들이 음악을 얻는 주요 수단 중 하나가 되었습니다. 하지만 가끔 노래를 듣다 보면 가사가 없다는 것을 발견하게 되는데, 이는 매우 혼란스럽습니다. 많은 사람들은 노래를 들을 때 가사가 표시되어 노래의 내용과 감정을 더 잘 이해할 수 있기를 바랍니다. 중국 최대 음악 플랫폼 중 하나인 QQ 뮤직은 사용자에게 가사 업로드 기능을 제공하여 사용자가 음악을 더 잘 즐기고 노래의 의미를 느낄 수 있도록 합니다. QQ뮤직에 가사를 업로드하는 방법은 다음과 같습니다. 첫 번째

jQuery AJAX 요청 403 오류를 해결하는 방법 jQuery AJAX 요청 403 오류를 해결하는 방법 Feb 19, 2024 pm 05:55 PM

jQuery는 클라이언트 측 개발을 단순화하는 데 사용되는 인기 있는 JavaScript 라이브러리입니다. AJAX는 전체 웹 페이지를 다시 로드하지 않고 비동기 요청을 보내고 서버와 상호 작용하는 기술입니다. 그러나 jQuery를 사용하여 AJAX 요청을 할 때 가끔 403 오류가 발생합니다. 403 오류는 일반적으로 보안 정책이나 권한 문제로 인해 서버 거부 액세스 오류입니다. 이 기사에서는 403 오류가 발생한 jQueryAJAX 요청을 해결하는 방법에 대해 설명합니다.

Ajax를 사용하여 PHP 메소드에서 변수를 얻는 방법은 무엇입니까? Ajax를 사용하여 PHP 메소드에서 변수를 얻는 방법은 무엇입니까? Mar 09, 2024 pm 05:36 PM

Ajax를 사용하여 PHP 메소드에서 변수를 얻는 것은 웹 개발의 일반적인 시나리오입니다. Ajax를 통해 데이터를 새로 고치지 않고도 페이지를 동적으로 얻을 수 있습니다. 이 기사에서는 Ajax를 사용하여 PHP 메소드에서 변수를 가져오는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 Ajax 요청을 처리하고 필요한 변수를 반환하기 위해 PHP 파일을 작성해야 합니다. 다음은 간단한 PHP 파일 getData.php에 대한 샘플 코드입니다.

상사직접 모집 아바타를 기본값으로 되돌리는 방법 상사직접 모집 아바타를 기본값으로 되돌리는 방법 Feb 23, 2024 pm 04:07 PM

보스 직접 모집 아바타를 다시 기본값으로 변경하는 방법 보스 직접 모집 아바타를 마음대로 조정할 수 있지만 대부분의 친구들은 보스 직접 모집 아바타를 다시 기본값으로 변경하는 방법을 모릅니다. 편집자가 플레이어에게 가져온 아바타 기본 방법 튜토리얼로 다시 변경하세요. 관심 있는 플레이어가 와서 살펴보세요! 상사 직접 모집 아바타를 기본값으로 다시 변경하는 방법 1. 먼저 상사 직접 모집 APP을 열고 메인 페이지 오른쪽 하단의 [내] 섹션에서 위의 아바타를 클릭합니다. 2. 그런 다음 개인 정보를 입력합니다. 3. 그런 다음 [사진 찍기] 및 [앨범에서 선택]을 선택하여 기본값으로 다시 변경합니다.

jQuery AJAX 오류 403 문제를 해결하는 방법은 무엇입니까? jQuery AJAX 오류 403 문제를 해결하는 방법은 무엇입니까? Feb 23, 2024 pm 04:27 PM

jQueryAJAX 오류 403 문제를 해결하는 방법은 무엇입니까? 웹 애플리케이션을 개발할 때 jQuery는 종종 비동기 요청을 보내는 데 사용됩니다. 그러나 때때로 jQueryAJAX를 사용할 때 서버에서 액세스가 금지되었음을 나타내는 오류 코드 403이 발생할 수 있습니다. 이는 일반적으로 서버 측 보안 설정으로 인해 발생하지만 문제를 해결하는 방법이 있습니다. 이 기사에서는 jQueryAJAX 오류 403 문제를 해결하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 만들다

Win11 Canary 26231 미리보기 버전의 아바타 숨기기 기능을 경험하는 방법은 무엇입니까? Win11 Canary 26231 미리보기 버전의 아바타 숨기기 기능을 경험하는 방법은 무엇입니까? Jun 25, 2024 pm 10:58 PM

Microsoft는 어제 내레이터 기능을 주로 최적화하는 Canary 채널에 대한 Windows 11 Build 26231 미리보기 업데이트를 출시했습니다. 그러나 새로운 미리보기 버전에는 필터 및 AI 향상을 통해 아바타를 최적화할 수 있는 새로운 기능이 숨겨져 있습니다. @PhantomOfEarth 소스는 6월 7일 X 플랫폼에서 트윗하여 Windows 11 Build 26231 미리보기 버전의 숨겨진 기능을 파헤치고 발견했습니다. 사용자가 설정 애플리케이션의 "계정" 페이지를 열면 새로운 "Yourinfo" 옵션이 나타납니다. . 사용자 정의 필터 Microsoft는 Nashville, Sutro,

See all articles