[英]Rails Action rendering html instead of json
我正在使用Rails3。我確實有一個奇怪的問題。 我有一個國家(地區)列表作為選擇框,並且在狀態選擇框更改時已將jquery's
$.ajax({})
連接起來。
該操作將狀態代碼作為參數,並返回屬於特定狀態的地區。 當請求發送到/districts?state=1
,它以302(found)
的狀態碼進行響應,然后還發送當前的html頁面作為響應。
以下是我的代碼:
# Controller Action
def districts
state = params[:state]
respond_to do |format|
format.json{ render :json => get_districts(state) }
end
end
# jQUery Request:
$.ajax({
url: '<%= districts_path %>',
data: {state: 1},
success: function(data){
for(i in data){
options += '<option value="'+data[i].code+'">'+data[i].district+'</option>'
}
$("#some_element").html('<select id="some_district" name="some_district">'+options+'</select>')
}
});
嘗試將dataType
選項設置為ajax調用:
$.ajax({
url: '<%= districts_path %>',
dataType: 'json',
data: {state: 1},
以我的經驗,HTTP 302是由於身份驗證問題引起的。 您應該考慮發布您的控制器代碼/路由,任何身份驗證以及可能發生的任何錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.