我正在使用jQuery和Ajax为我的表单提交数据和文件,但我不确定如何以一种形式发送数据和文件?
我目前对这两种方法的做法几乎相同,但数据收集到数组的方式不同,数据使用.serialize();但文件使用= new FormData($(this)[0]);
是否可以将两种方法结合起来,以便能够通过Ajax以一种形式上传文件和数据?
数据jQuery,Ajax和html
$("form#data").submit(function(){
var formData = $(this).serialize();
$.ajax({
url: window.location.pathname,
type: 'POST',
data: formData,
async: false,
success: function (data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});
return false;
});
<form id="data" method="post">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<button>Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)
文件jQuery,Ajax和html
$("form#files").submit(function(){
var formData = new FormData($(this)[0]);
$.ajax({
url: window.location.pathname,
type: 'POST',
data: formData,
async: false,
success: function (data) {
alert(data) …Run Code Online (Sandbox Code Playgroud) 我为用户创建了一个消息传递系统,它允许他们向另一个用户发送消息.如果这是他们第一次说话,那么就会启动新的会话,如果不是旧的会话继续.
用户收件箱列出了用户与所有其他用户进行的所有对话,然后由具有最新帖子的对话对这些对话进行排序.
用户只能与另一个用户进行一次对话.
当用户点击其中一个对话时,他们会被带到一个页面,显示他们在顶部有最新帖子的整个对话.所以它有点像消息聊天功能.
我有两张桌子:
userconversation
包含一个自动增量ID,它是会话ID,以及userId和friendId.
无论是谁发起第一个对话都将是userId和收件人friendId,这将永远不会改变该对话.
+----+--------+----------+
| id | userId | friendId |
+----+--------+----------+
Run Code Online (Sandbox Code Playgroud)
usermessages
包含特定消息,以及读取标志,时间和conversationId
+----+---------+--------+------+------+----------------+
| id | message | userId | read | time | conversationId |
+----+---------+--------+------+------+----------------+
Run Code Online (Sandbox Code Playgroud)
这个怎么运作
当用户转到另一个用户的消息时,将运行查询以检查两个用户是否在userconversation表中匹配,如果是,conversationId则使用该会话并且会话继续进行,如果不是,则为他们创建具有唯一的新行conversationId.
它变得复杂的地方
到目前为止一切都很好,但是当涉及到显示所有对话的消息收件箱时,按照最新的帖子进行排序,一个查询就变得棘手了.
为了能够列出对话,您必须首先找到每个对话的最新帖子,但由于您无法在组之前订购,因此无法对两个表上的一个查询进行排序,因此我必须使用以下内容:
SELECT
c.id,
c.userId,
c.friendId,
m2.message,
m2.read,
UNIX_TIMESTAMP(m2.time),
user1.username,
user2.username
FROM
(SELECT MAX(m1.id) AS MessageID
FROM usermessages m1
GROUP BY m1.conversationId) latest_msg
INNER JOIN usermessages m2 ON latest_msg.MessageID = m2.id
INNER JOIN userconversation c ON m2.conversationId …Run Code Online (Sandbox Code Playgroud) 我正试图在iframe中嵌入HTML5游戏,以便在iPad和iPhone等移动设备上的浏览器中显示.
如果您直接在iPad上访问它们,它们可以正常工作.
但是如果你使用iframe嵌入它们,那么当你触摸游戏然后放手时,游戏就会暂停.
有没有办法阻止这种iframe行为,以便他们按照自己的意愿行事?
当你停止触摸并且它认为你的空置和停顿时,似乎可能会失去焦点?
例
在模拟器中尝试下面的两个示例链接,您将看到问题
iPhone/iPad模拟器:https://app.io/safari
直接游戏链接(游戏作品):http://static.tresensa.com/madcab/index.html?dr = A0000
嵌入式游戏链接(游戏不起作用):http://drttrd.com/testIframe.php
我正在使用的代码(基本)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Game</title>
</head>
<body>
<div>
<iframe src="http://static.tresensa.com/madcab/index.html?dst=A0000" frameborder="0" scrolling="no" width="960" height="536"></iframe>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我试过的
css样式以更改交互类型
<div style="overflow:auto;-webkit-overflow-scrolling:touch;">
<iframe src="" height="" height=""></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)
JS防止默认
<script>
document.ontouchmove = function(e) {
e.preventDefault();
};
</script>
Run Code Online (Sandbox Code Playgroud)
......都没有帮助
我已经阅读了关于如何编写这些查询的多个示例,但我正在努力使这个特定的类似于在使用时运行 bindParam
这是匹配以a开头的用户名的正确方法吗?
$term = "a";
$term = "'$term%'";
$sql = "SELECT username
FROM `user`
WHERE username LIKE :term
LIMIT 10";
$core = Connect::getInstance();
$stmt = $core->dbh->prepare($sql);
$stmt->bindParam(':term', $term, PDO::PARAM_STR);
$stmt->execute();
$data = $stmt->fetchAll();
Run Code Online (Sandbox Code Playgroud) 我创建三列显示列表,每<li>有一个border-bottom像这样:
x | x | x
---------
x | x | x
---------
z | z | z
---------
<ul>
<li>x</li><li>x</li><li>x</li>
<li>x</li><li>x</li><li>x</li>
<li>z</li><li>z</li><li>z</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想要做的是创建一个nth-child表达式来删除border-bottom最后一行的三个,所以对于上面的例子,它将是:
ul li:nth-child(-n+6) {
border-bottom:0;
}
Run Code Online (Sandbox Code Playgroud)
问题
但是,如果它变得稍微复杂一点,那么列表中的项目数量会有所不同,因此可能出现以下任何情况:
场景1
x | x | x
---------
x | x | x
---------
z |
---
<ul>
<li>x</li><li>x</li><li>x</li>
<li>x</li><li>x</li><li>x</li>
<li>z</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
情景2
x | x | x
---------
x | x | x
---------
z | z |
-------
<ul>
<li>x</li><li>x</li><li>x</li>
<li>x</li><li>x</li><li>x</li> …Run Code Online (Sandbox Code Playgroud) 我试图确保一些图像在被修改时不被缓存但是哪个更适合这个filectime或filemtime?
我真的看不出php手册有多大区别?要么更快?
<img src="/images/123.png?<?=md5(@filectime("/images/123.png"))?>" />
<img src="/images/123.png?<?=md5(@filemtime("/images/123.png"))?>" />
Run Code Online (Sandbox Code Playgroud)
还有这样的函数不会发出e_warning文件错误吗?
理想情况下,我不想只提供问号 <img src="/images/123.png?" />
我一直在使用Laravel来显示一个月左右的自定义博客,而且它一直运行良好.
我只是看看我的网站,它说:
/vendor/symfony/security/Symfony/Component/Security/Core/Util/SecureRandom.php): failed to open stream: No such file or directory
Run Code Online (Sandbox Code Playgroud)
查看文件夹后,上面文件的位置实际上是:
/vendor/symfony/security-core/Symfony/Component/Security/Core/Util/SecureRandom.php): failed to open stream: No such file or directory
Run Code Online (Sandbox Code Playgroud)
但我没有改变这个?
如果我尝试运行,composer update我会收到此错误:
root@server [/laravel]# composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Writing lock file
Generating autoload files
[RuntimeException]
Could not scan for classes inside "app/tests/TestCase.php" which does not appear to be a file nor a folder
Run Code Online (Sandbox Code Playgroud)
是什么导致了这个或者我应该如何修复它?
在表单提交上,我使用jQuery来收集包含文件的数据,并使用以下方法创建表单值的FormData对象:
var formData = new FormData($("form#formid")[0]);
Run Code Online (Sandbox Code Playgroud)
但是我如何添加另一个值,这是这个FormData对象的关键?
我试图在Swift 3(和/或目标C)中散列一个String ripemd160来模拟以下php的输出:
$string = 'string';
$key = 'test';
hash_hmac('ripemd160', $string, $key);
// outputs: 37241f2513c60ae4d9b3b8d0d30517445f451fa5
Run Code Online (Sandbox Code Playgroud)
至今:
我已经尝试过查找hash_hmac我能找到的功能,例如:
在swift中实现HMAC和SHA1加密
enum HMACAlgorithm {
case MD5, SHA1, SHA224, SHA256, SHA384, SHA512, RIPEMD160
func toCCHmacAlgorithm() -> CCHmacAlgorithm {
var result: Int = 0
switch self {
case .MD5:
result = kCCHmacAlgMD5
case .SHA1:
result = kCCHmacAlgSHA1
case .SHA224:
result = kCCHmacAlgSHA224
case .SHA256:
result = kCCHmacAlgSHA256
case .SHA384:
result = kCCHmacAlgSHA384
case .SHA512:
result = kCCHmacAlgSHA512
case .RIPEMD160:
result = kCCHmacAlgRIPEMD160 …Run Code Online (Sandbox Code Playgroud) 我目前正在使用贝叶斯排名算法在网站上对视频进行排名,每个视频都有:
likesdislikesviewsupload_date任何人都可以like或dislike视频,视频总是views + 1在观看时,所有视频都具有独特性upload_date.
数据结构
数据采用以下格式:
| id | title | likes | dislikes | views | upload_date |
|------|-----------|---------|------------|---------|---------------|
| 1 | Funny Cat | 9 | 2 | 18 | 2014-04-01 |
| 2 | Silly Dog | 9 | 2 | 500 | 2014-04-06 |
| 3 | Epic Fail | 100 | 0 | 200 | 2014-04-07 |
| 4 | Duck Song | …Run Code Online (Sandbox Code Playgroud)