Skip to content

Instantly share code, notes, and snippets.

@shanehou
Created April 14, 2014 12:21
Show Gist options
  • Save shanehou/10642938 to your computer and use it in GitHub Desktop.
Save shanehou/10642938 to your computer and use it in GitHub Desktop.
browser里面第7行输出的结果里面有"registry=RegistryFileName",但是server里面第4行输出空……
$('#importFile').on('click', function(event) {
var $this = $(this);
var $registryFile = $('#registryFile');
event.preventDefault();
$.ajax({
beforeSend: function(jqXHR, settings) {
console.log(settings);
$registryFile.parent('.form-group').removeClass('has-error');
$registryFile.next('.help-block').text('Importing... Please wait...');
$this.prop('disabled', true);
$registryFile.prop('disabled', true);
},
url: 'import',
type: 'POST',
dataType: 'json',
data: {registry: $registryFile.val()}
}).done(function(data, textStatus, jqXHR) {
if (data.err) {
$registryFile.parent('.form-group').addClass('has-error');
$registryFile.next('.help-block').text(data.err);
$this.prop('disabled', false);
$registryFile.prop('disabled', false);
} else {
location.reload(true);
}
}).fail(function(jqXHR, textStatus, errorThrown) {
attrAddModal.modal('hide');
$('#errorModal p').text(textStatus);
errorModal.modal('show');
});
});
func (h *importHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
var invalid error
fname := string(r.PostFormValue("registry"))
fmt.Println(fname)
if _, err := os.Stat(fname); os.IsNotExist(err) {
invalid = errors.New("File does not exists!")
} else {
f, err := os.Open(fname)
if err != nil {
panic(err)
}
defer f.Close()
enc := unicode.UTF16(unicode.LittleEndian, unicode.ExpectBOM)
tf := enc.NewDecoder()
reader := transform.NewReader(f, tf)
processRegistry(h.collection, reader)
}
response, err := json.Marshal(bson.M{"err": invalid.Error()})
if err != nil {
panic(err)
}
w.Header().Set("Content-Type", "application/json")
w.Write(response)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment