我有以下代码:
function submitHandler(dialog) {
dialog.$submits.disableBt();
dialog.$message.addMessage("loading", "<li>Contacting Server, please wait ...</li>");
$.ajax({
url: href,
dataType: 'json',
type: 'POST',
data: dialog.$form.serializeArray()
})
.done(onSubmitDone())
.fail(onSubmitFail());
}
这个函数有一个对话框参数,它是一个看起来像这样的对象:
{
$modal: $modal,
$form: $modal.find('.form'),
$message: $modal.find('.message'),
$submits: $modal.find('.submit-button'),
href: $form.attr('data-href')
};
我需要将对话对象发送到 onSubmitDone 和 onSubmitFail 函数。以前我没有使用对象来保存 $modal、$form 等,并且这些变量都可用于包含在外部函数中的所有函数
两个问题:
将事物作为对象的一部分传递是明智的,还是应该在外部函数的顶部声明这些变量。
如果我确实传递了对象,我该如何将它传递给以下对象:
function onSubmitDone(json) {
json = json || {};
if (json.Success) {
switch (action) {
我知道我的 json 对象已传递,但我怎样才能传递对话框对象呢?