Javascript rails应用中的Ajax请求给出错误
在我的rails应用程序中,我将作为 $.ajaxSetup({ url:“/get\u paypal\u按钮” }); 结束 当我使用调试器并获得它给出的@hash值时(这是正确的) 但是ajax请求正在执行我为防止出错而编写的代码,它得到的是空响应Javascript rails应用中的Ajax请求给出错误,javascript,jquery,ruby-on-rails,ajax,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ajax,Ruby On Rails 3,在我的rails应用程序中,我将作为 $.ajaxSetup({ url:“/get\u paypal\u按钮” }); 结束 当我使用调试器并获得它给出的@hash值时(这是正确的) 但是ajax请求正在执行我为防止出错而编写的代码,它得到的是空响应 我已经尝试了所有的方法,但完全没有结果,因为类似的代码几天前还在运行。也许格式的设置并不像您所期望的那样: 选中作为Ajax调用的一部分接受来自浏览器的标题。您可以在Firebug的网络选项卡中看到它 或者将format转储到日志中并检查它。我看
我已经尝试了所有的方法,但完全没有结果,因为类似的代码几天前还在运行。也许
格式的设置并不像您所期望的那样:
选中作为Ajax调用的一部分接受来自浏览器的标题。您可以在Firebug的网络选项卡中看到它
或者将format
转储到日志中并检查它。我看到您在哈希上使用了。\u json
-您不需要调用此函数。我也尝试过,但仍然得到空响应:(在数据类型中使用小写json会有帮助吗?不受大写或小写的影响,这也是正确的。请在下面找到完整的标题:请求URL:Request HeaderView source Accept:application/json,text/javascript,/;q=0.01内容类型:application/x-www-form-urlencoded Origin:Referer:User Agent:Mozilla/5.0(X11;Linux i686)AppleWebKit/535.19(KHTML,如Gecko)Chrome/18.0.1025.142 Safari/535.19 X-request-With:XMLHttpRequest表单数据视图URL编码的募捐者id:1金额:13货币:新加坡元评论:匿名:虚假捐赠者电子邮件:a@a.comother除此之外:{readyState 0,responseText“”,状态0,状态文本,“错误”}
var dataToSend = { fundraiser_id: <%= @fundraiser.id %>,
amount: $("#amount").val(),
currency: $('#donor_donation_currency').val(),
comment: $('#donor_donation_comment').val(),
anonymous: $("#donor_donation_anonymous").is(":checked"),
donor_email: $('#email').val(),
donor_name: $('#name').val(),
donor_city: $('#city').val(),
donor_country: $('#country').val() };
$.ajax({
type: "POST",
dataType:'JSON',
async: true,
data:dataToSend,
success: function(json){
$('#id_amount').val(json.amount);
$('#custom_content').val(json.custom);
},
error:function (xhr, ajaxOptions, thrownError){
console.dir(xhr);
console.dir(thrownError);
}
});
def get_paypal_button
@fundraiser = Fundraiser.where(:id => params[:fundraiser_id]).last
if params[:currency] == 'INR'
amount_in_sgd = params[:amount].to_f/@fundraiser.sgd_to_inr.to_f
elsif params[:currency] == 'USD'
amount_in_sgd = params[:amount].to_f*@fundraiser.usd_to_sgd.to_f
else
amount_in_sgd = params[:amount].to_f
end
puts '----------finding donor-------------'
@donor = Donor.find_or_initialize_by_email(params[:donor_email])
@donor.update_attributes(:name => params[:donor_name], :city => params[:donor_city], :country => params[:donor_country])
custom = @donor.id.to_s + "::" + params[:anonymous].to_s + "::" + params[:comment].to_s
@hash = {:amount => amount_in_sgd, :custom => custom}.to_json
respond_with(@hash) do |format|
format.json { render :json => @hash }
end
"{\"amount\":15.0,\"custom\":\"2::false::\"}"