2011-09-02 28 views
0

我會通過使用jquery表單插件上傳文件,並且當響應數據爲json時,$ .ajaxForm的過程現象變爲超時問題。無法獲取JQuery的jQuery表單插件

服務器端的處理沒有任何問題,響應數據只要用螢火蟲看到json窗體就會沿着形狀返回。 但是,我認爲$ .ajaxForm無法獲取數據。此後,它是已處理代碼的一部分。

 
    code 
    $('#upload').ajaxForm({ 
    cache: false, 
    dataType: 'json', 
    type: 'POST', 
    error: function(xhr ,status ,error) { 
     alert('error occured. Status:' + status 
      + ' --Status Text:' + error 
      + ' --Error Result:' + xhr.statusText); 
    }, 
    timeout: 1000, 
    dataType:'json', 
    data:{ 'path':'path' , 'type':'type' }, 
    complete: function(){ 
     alert('complete'); 
    }, 
    success:function(data){ 
     alert('success'); 
    }, 
    }); 
 
    response 
    (firebug)

header Connection close Content-Length 155 Content-Type application/json; charset=utf-8 Status 200 data json {"type":"json","message":"complete process"} <i>(A browser)</i> ①download json data ②alert('error occured. Status:timeout --Status Text:timeout --Error Result:n/a') ③alert('complete') </pre>

當dataType爲html時,能夠處理成功。 此外,當它是$ .ajax時,json變成成功。 有沒有解決計劃?它適當地問。

+0

是否指定了'dataType'兩倍還嘗試設置'contentType' – Rafay

回答

0

嘗試建立contentType

$('#upload').ajaxForm({ 
    cache: false, 
    dataType: 'json', 
    contentType:"application/json; charset=utf-8", 
    type: 'POST', 
    error: function(xhr ,status ,error) { 
     alert('error occured. Status:' + status 
      + ' --Status Text:' + error 
      + ' --Error Result:' + xhr.statusText); 
    }, 
    timeout: 1000,  
    data:{ 'path':'path' , 'type':'type' }, 
    complete: function(){ 
     alert('complete'); 
    }, 
    success:function(data){ 
     alert('success'); 
    }, 
    }); 
+0

設立的contentType,但same.When數據類型:XML,成功proccess.So我使用dataType:xml。如果有一個解決方案,它適當地問。 – amichan4