我已经多次搜索如何使用Ajax从表单上传文件,并发现xhr2应该能够做到.然而,我已经尝试使用FormData对象,但它不起作用.
这是一个简单的html表单
<!DOCTYPE html>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<form id="form" method="post" action="post.php" enctype="multipart/form-data">
<input type="file" name="img"/>
<input type="submit" value="Upload" />
</form>
<script src="jquery.js"></script>
<script src="upload.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这里是'post.php'文件,当称为'老式'方式时,它可以正常工作:
<?php
if($_FILES['img']['error'] > 0) die('Error ' . $_FILES['file']['error']);
if(empty($_FILES['img']['name'])) die('No file sent.');
$tmp = $_FILES['img']['tmp_name'];
if(is_uploaded_file($tmp))
{
if(!move_uploaded_file($tmp, 'img.png')) echo 'error !';
}
else echo 'Upload failed !';
?>
Run Code Online (Sandbox Code Playgroud)
这里是'upload.js'
$(function() {
$('#form').submit(function(e) {
e.preventDefault();
data = new FormData($('#form'));
console.log('Submitting');
$.ajax({
type: 'POST',
url: 'post.php',
data: data,
cache: false,
contentType: …Run Code Online (Sandbox Code Playgroud) Scala中没有等效的标志吗?
就像是 :
val flags = Something | SomeOtherThing
Run Code Online (Sandbox Code Playgroud)
我想我可以为每个旗帜组做一个班级并且有一堆布尔但是语法糖怎么样?
我正在我的cocoa应用程序中使用以下代码在@implementation我的自定义应用程序中构建一个菜单栏CustomApplication:
+(void) setUpMenuBar
{
[CustomApplication sharedApplication];
// Main menu
NSMenu* mainMenu = [NSApp mainMenu];
if (mainMenu != nil) return; // We set it already
mainMenu = [[[NSMenu alloc] initWithTitle:@""] autorelease];
[NSApp setMainMenu:mainMenu];
// Application menu
NSMenuItem* appleItem = [mainMenu addItemWithTitle:@""
action:nil
keyEquivalent:@""];
NSString* appName = @"MyApp";
NSMenu* appleMenu = [[NSMenu alloc] initWithTitle:@""];
// Apple menu
[appleMenu addItemWithTitle:[@"About " stringByAppendingString:appName]
action:@selector(orderFrontStandardAboutPanel:)
keyEquivalent:@""];
// Quit
[appleMenu addItemWithTitle:[@"Quit " stringByAppendingString:appName]
action:@selector(terminate:)
keyEquivalent:@"q"];
[appleItem setSubmenu:[appleMenu autorelease]];
}
Run Code Online (Sandbox Code Playgroud)
在启动时,我的应用程序获得焦点,但菜单栏不可克服.但是,如果我再次单击窗口并将其重新放回(将焦点返回给应用程序),它将变为可单击并正常工作.
我错过了什么?
UPDATE …
如何重定向OCaml中的标准输出?我试过Format.set_formatter_out_channel但它似乎没有用.当我之后使用printf时,文本仍然会打印在屏幕上,我创建的文件仍然是空的.
我有这段代码:
let rec random_list = function
| 0 -> []
| n -> ( Random.int max_int ) :: ( random_list (n-1) )
Run Code Online (Sandbox Code Playgroud)
编译好了,但是当我执行它时,出现此错误:
exception Invalid_argument("Random.int")
Run Code Online (Sandbox Code Playgroud)
这个问题的解决方法是什么?
我想要一个可以像列表一样使用的Queue类.
例如,
val q = Queue()
Run Code Online (Sandbox Code Playgroud)
将实例化一个空队列.
为此,我尝试使用一个伴侣类:
object Queue {
def apply() = new Queue[Any]
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?
ocaml ×2
scala ×2
ajax ×1
arguments ×1
cocoa ×1
coq ×1
empty-list ×1
enum-flags ×1
file-upload ×1
flags ×1
forms ×1
int ×1
jquery ×1
list ×1
macos ×1
menubar ×1
objective-c ×1
php ×1
random ×1
typeclass ×1