开发者

Submitting an image file with an ajax/json built with jQuery

Is there anyway of submitting a file uploaded via Ajax/json/jQuery?

is there a plug in at all? if I want to submit other data its easy:

$.ajax(
  {
       type: "POST",
       url: "http://www.test.php",
       dataType:"json",
       data: {serial: $('[name=txtLogin]').val()},  
       success: function(data)
       { 
            ... do some stuff ...               
      开发者_开发技巧 }          

    });

But I'm guessing that file uploads are a different story. I'd like to pass information from a variety of fields such as textboxes, radio and check boxes as well as the file itself.

Any ideas guys?


There are a few plug-ins out there that can help with this. See this link for a decent round-up.

I've used Andrew Valums AJAX Upload control in several projects. It's a nice control and does the trick. I've also uploaded additional field values (like a file name from a text box, some true/false metadata, etc.) along with the file in a single AJAX POST.

I should add that Valums' control isn't a jQuery plug-in - it's basic JavaScript. I've used it with jQuery's $.ajax calls, though.

UPDATE: Actually, I recently found this project that looks very promising as a successor to Valums' upload plug-in. It's jQuery focused, so I'm not sure if that's a pro or a con, but thought I'd share it. I haven't tried it yet, but the features seem to be a good fit for you.

Hope this helps!


Short answer: no, you can't do that.

However, you can use the jQuery form plugin to submit the form to a hidden iframe, which in practice makes it act the way you want.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜