jQuery – ajaxfileupload 使用dataType 為json的問題

之前的這篇
 http://www.wretch.cc/blog/fdjkgh580580/11928850
 發現返回的json還是有許多問題存在,
不過今天我希望返回文字,而不是json與xml格式,那麼參數dataType該指定什麼呢?

 
 ajaxfileupload.js中看到約195行的這段:
————————————————————————————————

    uploadHttpData: function( r, type ) {
        var data = !type;
        data = type == "xml" || data ? r.responseXML : r.responseText;
        // If the type is "script", eval it in global context
        if ( type == "script" )
            jQuery.globalEval( data );
        // Get the JavaScript object, if JSON is used.
        if ( type == "json" ) {
            //eval( "data = " + data ); //這個應該是寫錯的….
//如果php格式輸出的json格式長這樣{"act" : "hellow"} 那這裡要使用單引號 "data = \' "+data+" \' "
//如果php格式輸出的json格式長這樣{'act' : 'hellow'} 那這裡要使用雙引號 "data = \" "+data+" \" "
//因為PHP的json_encode是{"act" : "hellow"}所以我下面使用單引號
eval("data = \' "+data+" \' ");

}
        // evaluate scripts within html
        if ( type == "html" )
            jQuery("<div>").html(data).evalScripts();


        return data;
————————————————————————————————

所以我們參數dataType只需要指定為 xml 、json、script、html、以及不輸入這五種以外,就可以返回一段html文字了~
等同於jQuery.post預設返回的方法~如以下所示:
 

$.ajaxFileUpload({
'url' :    "xxx.php",
secureuri :    false,
fileElementId    :    'uplphoto',
dataType : 'text', //非內鍵的參數
data :    {

},
success :     function (data, status) {
//這裡直接使用返回的data

console.log(data);

},
error :    function (data, status, e) {
alert("上傳失敗囉")
console.log(data);
}
})    

 

Comments

  1. ilikeswatch
    2013-01-29 - 11:10

    不好意思
    看你寫了很多跟fql相關的文章
    我想請問一個問題
    我想取得粉絲專頁的最新文章與其按讚、留言及分享數
    有辦法用fql取得嗎??

    麻煩你回答了 謝謝:)

發表迴響