簡體   English   中英

如何利用ResponseText

[英]How to utilize the ResponseText

前言 :原諒我,因為在處理JSON方面我還很陌生。

我目前正在將Rails與jQuery結合使用,以通過JSON檢索一些數據。 我能夠從控制器成功獲取數據,但似乎無法執行任何操作。

index.html.erb

<a href="#" id="click">Click Me</a>

clothing.js.erb

$( "#click" ).on( "click", function(e) {
   e.preventDefault();
   $.ajax({
    type: "GET",
    dataType: "json",
    url: "/clothing/get_color",
    success: function(response){
        alert(response);
    }
   })
});

clothing_controller.rb

 def get_color
    #Query goes here

    respond_to do |format|
        format.html
        format.json { render :json => @color, status: :ok }
    end
 end

當我單擊$("#click")鏈接,查看我的Firebug控制台時,它成功地成功查詢了控制器,沒有任何錯誤,並將response顯示為blue

但是,我不能對此響應執行任何操作,例如alert(response)$("#my_input").val(response)

對我在這里做錯的任何想法嗎?

您可能需要對響應進行JSON.stringify()才能嘗試將其輸出。

檢查此鏈接https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

好吧,我知道了。 事實證明,即使在響應狀態為200 ,它也在JSON請求之后觸發了“錯誤”,而不是成功。

因此,我在這里找到了這篇SO帖子,解釋了添加:success=> "success" 因此,我將控制器代碼更改為:

respond_to do |format|
 format.json { render :json => { :success => "success", :status_code => "200", :color => @color } }
end

那行得通!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM