backbone.js,等待外部帖子请求完成

时间:2013-02-17 07:22:20

标签: ajax image post backbone.js upload

我的index.php页面上有一个图像上传器,当图像开始上传时(通过将图像拖到上传框中启动),创建了POST请求(FYI HTML5 + php Uploader)

POST http://localhost:8888/backbone_images/post_file.php

在我的post_file.php中,我通过将其插入我的exit_status来检索上传图像的URL,而不是稍后在我的脚本中将其分配给全局javascript变量'globe'

if(move_uploaded_file($pic['tmp_name'], $upload_dir.$pic['name'])){
        exit_status($pic['name']);
    }

在我的主干脚本文件中,我检查Drop事件中的drop事件是否正常,

App.Views.AddImage = Backbone.View.extend({
    el: '#addImage',  
    events: {
        'drop': 'submit' 
    }, 

所以图像已经拖到了Dropbox上,我调用我的提交函数来创建一个新模型 并分配新图像的URL(我通过javascript变量) 到我的新模型的网址

    submit: function(e) {
        e.preventDefault();  // preventing default submission..
        var newImage = globe;  // assign globe --url of the newly created image--to new model
        var imager = new App.Models.Person({ url: newImage });//creating a new img object
        this.collection.add(imager); 
    }

问题是当我的主干提交功能在图像被删除后被触发时,我对/post_file.php的POST还没有运行,因此我的变量'globe'不包含新的URL,并且我新创建的模型最终缺少网址

所以问题:在图像丢失之后,在执行我的'submit'功能之前,有没有办法等待POST在我的骨干事件中完成?

我尝试在我的提交函数中使用:$.when( $.ajax("/post_file.php") ),但所有这一切都是运行另一个POST请求,留下我的变量值,而不是运行原始POST请求检索我正在等待的图像URL

我首选的工作流程是

一个。拖动/上传图片,(POST执行)  湾新模型被添加到     使用上传图片的网址收集

但我必须首先添加额外的点击功能,否则POST无法完成

一个。拖动/上传图片,(POST peforms)  湾单击提交按钮  C。模型被添加到集合

0 个答案:

没有答案