- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个简单的“AJAX” uploader (因为我知道你实际上无法进行AJAX上传)。我遇到了问题,我真的不想使用插件。我正在编写一个应用程序,需要将 PDF 附件作为表单的一部分,并且我的应用程序代码已经有大约 1000 行 JS + jQuery。我不想添加额外的 1000k SWFObject 或巨大的表单插件。另外,我喜欢学习东西,所以我知道它们是如何工作的:)而且我也相当精通 JS...
这是我到目前为止所拥有的:
<!DOCTYPE html>
<html>
<head>
<title>Upload Test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(function(){
$('#file_upload').submit(function(){
$('#file_upload').attr('target','upload_target');
alert($('iframe').contents().text());
return false;
});
});
</script>
</head>
<body>
Upload Test to 382
<form id="file_upload" method="post" enctype="multipart/form-data" action="io.cfm?action=updateitemfile&item_id=382">
<input name="binary" id="file" size="27" type="file" /><br />
<input type="submit" name="action" value="Upload" /><br />
<iframe id="upload_target" name="upload_target" src="" style=""></iframe>
</form>
</body>
</html>
我一直在阅读,如果我将目标属性添加到表单中,表单将在那里提交,但根本没有运气。它只是没有在 iframe 中放入任何内容。 “ Action ”属性将根据选择的项目而动态变化。如果我关闭所有“AJAX”,它也可以正常工作,并且我无权访问后端,因为它是内部 API。
那么,如何将其提交到 iframe,然后获取 iframe 的内容(这将是 JSON 响应)?
附注这只是我正在使用的测试页面...obv 这不是整个应用程序。
最佳答案
这并不是表单的提交填充 <iframe>
。 POST 应该返回到服务器 - 你看到了吗?然后,服务器响应将最终出现在 <iframe>
中。 。通常,为了让它感觉有点像 Ajax,您所做的就是让响应页面包含一些 Javascript,以某种方式与主页对话。
停止返回false
从您的提交处理程序中查看会发生什么。
这样做的目的是为了避免表单提交的默认行为。当您以普通的旧 HTML 方式提交表单时,包含该表单的页面将被服务器的响应替换。当您将表单定位为 <iframe>
时然而,事实并非如此。相反,响应直接指向框架内的“页面”。
关于javascript - "AJAX"jQuery 上传问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3367147/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!