我有三个页面:test.php,script.js和main.php.
Main.php正在使用html5拖放以及来自script.js的简单ajax脚本,以便发布并激活test.php.(旁注,我希望main.php传递一个POST变量.经过几个小时的研究和一百次左右的测试和修改,我无法弄清楚为什么我无法获得触发帖子.任何建议都会非常感谢.这是我的代码:
test.php(包含一个简单的php脚本,加载时将通用记录插入我的DB)
的script.js
function drop(id, event) { $.ajax({ url: "test.php", type: "POST", data: { id: id, event: event }, success: function () { console.log('great success'); return true } }); return false; }
和main.php
" ; } /* free result set */ mysqli_free_result($result); } mysqli_close($link); ///////////////////////////////////////////////////////////////////////////////// ?>" ; } /* free result set */ mysqli_free_result($result); } mysqli_close($link); ?>" ; } /* free result set */ mysqli_free_result($result); } mysqli_close($link); ?>" ; } /* free result set */ mysqli_free_result($result); } mysqli_close($link); ?>" ; } /* free result set */ mysqli_free_result($result); } mysqli_close($link); ?>
Jia Jian Goi.. 6
在您的drop(id, e)
方法中,除了您的allowDrop
方法之外,您还可以考虑以下内容.使用FileReader
该类读取您的文件.
function drop(id, e) { if (e.dataTransfer && e.dataTransfer.files.length != 0) { var file = e.dataTransfer.files[0], // Only the first file. reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function (event) { console.log(file.name); $.ajax({ url: "test.php", type: "POST", data: { id: id, fileName: file.name, // Your file name. file: event.target.result // Your file. }, success: function () { console.log('great success'); return true } }); }; } }
在HTML中,您还需要传入一个值id
.例如,您可以执行以下操作以打印出$row["sID"]
方法参数.
', event)" ondragover="allowDrop(event)">在PHP脚本上,您需要能够接收
POST
ed文件.一个例子如下所示.$data = $_POST['file']; $fileName = $_POST['fileName']; $id = $_POST['id']; $serverFile = $fileName . "-" . time(); // Appends timestamp so that files of the same name wouldn't be overwritten. $fp = fopen('/uploads/' . $serverFile, 'w'); fwrite($fp, $data); fclose($fp); $returnData = array( "serverFile" => $serverFile ); echo json_encode($returnData);有关示例,请参阅此plunker.将文件拖放到div中,然后观察控制台日志.
编辑
理解你想要拖放元素.
以下是更新的plunker.
1> Jia Jian Goi..:在您的
drop(id, e)
方法中,除了您的allowDrop
方法之外,您还可以考虑以下内容.使用FileReader
该类读取您的文件.function drop(id, e) { if (e.dataTransfer && e.dataTransfer.files.length != 0) { var file = e.dataTransfer.files[0], // Only the first file. reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function (event) { console.log(file.name); $.ajax({ url: "test.php", type: "POST", data: { id: id, fileName: file.name, // Your file name. file: event.target.result // Your file. }, success: function () { console.log('great success'); return true } }); }; } }在HTML中,您还需要传入一个值
id
.例如,您可以执行以下操作以打印出$row["sID"]
方法参数.', event)" ondragover="allowDrop(event)">在PHP脚本上,您需要能够接收
POST
ed文件.一个例子如下所示.$data = $_POST['file']; $fileName = $_POST['fileName']; $id = $_POST['id']; $serverFile = $fileName . "-" . time(); // Appends timestamp so that files of the same name wouldn't be overwritten. $fp = fopen('/uploads/' . $serverFile, 'w'); fwrite($fp, $data); fclose($fp); $returnData = array( "serverFile" => $serverFile ); echo json_encode($returnData);有关示例,请参阅此plunker.将文件拖放到div中,然后观察控制台日志.
编辑
理解你想要拖放元素.
以下是更新的plunker.
推荐阅读
如何解决《Git/SourceTree-远程无效的用户名或密码》经验,为你挑选了1个好方法。 ... [详细] 如何解决《为什么不允许在重写方法中使用参数类型(一个是原始的而另一个是包装器)的区别?》经验,为你挑选了0个好方法。 ... [详细] 如何解决《如何快速填充大量数据以利用熊猫fillna?》经验,为你挑选了0个好方法。 ... [详细] 如何解决《PHP:理解字符串类型杂耍》经验,为你挑选了1个好方法。 ... [详细] 如何解决《在Firebase中托管.NETWebApi》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何在Haskell中提取列表的所有唯一对?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《SBT插件不使用自定义解析器》经验,为你挑选了0个好方法。 ... [详细] 如何解决《Android运行时执行与NetworkRequest》经验,为你挑选了1个好方法。 ... [详细] 如何解决《IosSwift在非线性路径中为视图设置动画》经验,为你挑选了2个好方法。 ... [详细] 如何解决《如何将R脚本放入包中》经验,为你挑选了0个好方法。 ... [详细] 如何解决《什么是spark.streaming.receiver.maxRate?它如何与批处理间隔一起使用》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何在Grails中建模存储过程记录?》经验,为你挑选了1个好方法。 ... [详细] 如何解决《我的网站在移动设备上显示为桌面》经验,为你挑选了1个好方法。 ... [详细] 如何解决《if语句在for或while循环中》经验,为你挑选了1个好方法。 ... [详细] 如何解决《403ForbiddenSpringBootWebSocketCall》经验,为你挑选了1个好方法。 ... [详细] 如何解决《R-根据因子水平分割直方图》经验,为你挑选了2个好方法。 ... [详细] 如何解决《BotpostMessage缺少图标和名称》经验,为你挑选了1个好方法。 ... [详细] 如何解决《如何在XQuery中创建没有else的if语句?》经验,为你挑选了1个好方法。 ... [详细] 吐了个 "CAO" !Tags | 热门标签RankList | 热门文章
- 1ReadAsAsync和JsonConvert之间的区别
- 2在一个充满零的矩阵中的一个 - R.
- 3SWIFT iOS中的崩溃报告
- 4Scala Try的toOption方法返回Some(null)
- 5如何使用Scanner类中的hasNext()?
- 6传递基础参考字段的生命周期?
- 7d3.js linkStrength对力图中linkDistance的影响
- 8调用Delphi DLL的意外线程行为
- 9使用ReverseLayout recyclerview将项目添加到Endless Scroll RecyclerView
- 10使用BinaryWriter时,为什么二进制文件的大小不会减少
- 11鼠标悬停上的边界半径在哪里
- 12ColdFusion 10 Developer,Tomcat 7.0.64和多个网站
- 13Django Admin不保存预先填充的内联字段,这些字段保留在初始状态
- 14如何根据Angular js中的两个自定义过滤器过滤数据
- 15在PyCharm中运行或调试时增加输出缓冲区
- 16有条件地阻止方法覆盖
- 17qDebug()不会打印任何内容
- 18Android 6.0.1无法以编程方式启用wifi热点
- 19将null值赋给list中的属性
- 20电报,获取现有贴纸的file_id
DevBox开发工具箱 | 专业的在线开发工具网站 京公网安备 11010802040832号 | 京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有