2015-02-10 58 views
4

我試圖模擬/存根我的ajax調用,但它看起來只能用於文本。當我試圖設置響應與對象,然後我做了回調不叫:jasmine mock-ajax with JSON

jasmine.Ajax.stubRequest('/some_url/1').andReturn({ 
    //"responseText": response , 
"response": response, 
    "status": 200 
}); 

,但是當我設置的responseText與對象,然後它叫,但responseJSON沒有設置,在FF

時調試響應
responseJSON undefined 
status 200 
statusText "success" 

我做錯了什麼或它是一個問題?

我正在使用茉莉花2.1.3和最新版本的茉莉花ajax(老實說我不知道​​它在哪裏我可以找到我使用的版本... ;-),我剛剛下載了mock-ajax.js從github文檔中的鏈接)

更新: 這是我的壞。我試圖推,當使用JSON.stringify,並將結果傳遞給「responseText」它的工作原理!

回答

2

取決於您的存根數據類型,您需要使用「responseText」或「responseJSON」來代替使用「response」屬性。

如果您的響應已被解析爲JSON(即實際的JSON對象而不是字符串),則使用「responseJSON」。

+2

嗨,感謝您的迴應,我試過「responseJSON」,但它是一樣的。我已經研究過mock-ajax.js,並且沒有那樣的東西......我剛剛意識到,當我將JSON.stringify的結果傳遞給「responseText」時,我一直傳遞簡單的'Object'預期。無論如何感謝您的幫助:-) – eldi 2015-02-11 20:32:57