jQuery本身并不能直接将图片上传到数据库,但可以通过AJAX技术将图片上传到服务器,然后将图片的路径保存到数据库中。以下是大致的步骤:1. 在HTML中添加一个文件上传表单,使用jQuery监听表单的提交事件。2. 在jQuery中使用FormData对象将表单数据和图片文件一起发送到服务器。3. 在服务器端接收到请求后,将图片保存到服务器的指定目录中,并将图片的路径保存到数据库中。4. 在前端页面中显示上传成功的提示信息。需要注意的是,上传图片需要服务器端的支持,具体实现方式可能因服务器环境而异。

您可以使用jQuery的ajaxFileUpload插件来实现图片上传到数据库。这个插件支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示。
以下是一个简单的示例代码:
console.log(data); //上传成功后的回调函数
console.log(xhr.statusText); //上传失败后的回调函数
$("button").click(function(){ alert($(this).serialize());});//或者$('form').submit(function() { alert($(this).serialize()); return false;}); serialize()方法通过序列化表单值,创建URL编码文本字符串
你把表单form的提交方法method从POST换成GET,你就能在URL清楚地看到每次提交的内容了,这样更方便新手理解.不过你也可以在浏览器提供的F12开发者工具的网络里查看到请求的GET/POST/请求头等信息.
PHP是HTML预处理器,浏览器首次加载test.php页面,服务器PHP其实并没有拿到用户提交的数据,也就是首次访问生成的HTML页面里的内联JS代码里的alert()是没有用户数据的,在你提交表单后才有,所以会出现你说的"页面JS总是获取到前一次请求的值".
最后再说个安全性问题,你的代码中,$_POST['one']是一个用户输出的数据,在你把用户输入的数据输出到页面上时,需要注意防御XSS注入,防御方法如下:
如果你是把用户输入的数据输出到
HTML上下文
如果你是把用户输入的数据输出到
JS上下文
不过个人还是建议分离JS跟PHP,也就是PHP不要直接输出内容赋值给JS,这样JS代码可以单独放到一个JS文件里.
JS可以这样拿到传统表单提交里的数据并进行AJAX提交,以jQuery为例,将传统form表单提交轻松改造为AJAX提交:
可见HTML传统表单并不需要修改,JS代码里也没有混有PHP代码,编程逻辑就清晰多了.