Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save deguchi/8364730 to your computer and use it in GitHub Desktop.

Select an option

Save deguchi/8364730 to your computer and use it in GitHub Desktop.
$.extend({
xpost: function(options) {
var data, flush, form, iframe, key, name, url, val;
name = "dummyxpostframe";
url = options.url;
data = options.data;
flush = function() {
$("form[target=" + name + "]").remove();
return $("iframe[name=" + name + "]").remove();
};
iframe = $("<iframe></iframe>").attr("name", name).hide().appendTo("body");
if (typeof options.callback === "function") {
iframe.load(options.callback);
}
form = $("<form method=\"POST\" />").attr("action", url).attr("target", name);
for (key in data) {
val = data[key];
if (key === 'urls') {
form.append("<textarea name=\"" + key + "\">" + (val.join('\n')) + "</textarea>");
} else {
form.append("<input type=\"hidden\" name=\"" + key + "\" value=\"" + val + "\">");
}
}
return form.hide().appendTo("body").submit();
}
});
//使い方
param = {
'keyname': 'hogehoge',
'expire': 60 * 60 * 24,
'title': title,
'description': description,
'urls': urls
};
url = "http://exapmle.com/post";
$.xpost({
url: url,
data: param,
callback: function() {
return console.log('success');
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment