/ / जावास्क्रिप्ट जावास्क्रिप्ट डेटाबेस प्रश्न - जावास्क्रिप्ट, रूबी-ऑन-रेल, jquery, रूबी-ऑन-रेल-3.1

रेल जावास्क्रिप्ट डेटाबेस प्रश्न - जावास्क्रिप्ट, रूबी-ऑन-रेल, jquery, ruby-on-rails-3.1

मैं जावास्क्रिप्ट से PUT, POST या DELETE कॉल कैसे करूं?

मैंने jquery ड्रैग और ड्रॉप का उपयोग करके कुछ डेटा एकत्र किया है। फिर मैं इसे डेटाबेस में कैसे भेजूं? मुझे लगता है कि मैं jQuery.ajax का उपयोग करने में सक्षम हो सकता हूं, लेकिन वास्तव में कैसे काम नहीं कर सकता।

किसी भी सूचक की सराहना की ।

उपाय:

यह जावास्क्रिप्ट है जो काम करती है

$(document).ready(function() {
$.ajax({
type: "PUT",
url:    "/articles/8", // should be mapped in routes.rb
data: {articles:{name:"New Name"}}
});
});

लेकिन यह लेख 8 के नाम को नए नाम में नहीं बदलता है। फायरबग में कोई त्रुटि नहीं है, लेकिन मैं अभी भी डेटा को संपादित नहीं कर सकता हूं।

Url put url का उपयोग करके मानक अद्यतन है, यह मार्गों में मौजूद है।

उत्तर:

जवाब के लिए 2 № 1

आप इसके लिए jQuery के ajax का उपयोग कर सकते हैं: यह गतिशील रूप से सर्वर साइड कोड के साथ ब्राउज़र अनुरोधों को संभालने का एक बहुत अच्छा तरीका है।

jQuery("#element_id").on("click change",function(){ // use event as per your need
$.ajax({
type: "GET",
url:    "/edit_comment", // should be mapped in routes.rb
data: {comment:"new comment"},
datatype:"html", // check more option
success: function(data) {
// handle response data
},
async:   true
});

});

अधिक जानकारी के लिए इन लिंक की जाँच करें:

http://api.jquery.com/jQuery.ajax/

http://api.jquery.com/category/ajax/

रेल कोड:

def edit_comment
@comment = params[:comment]
// store to database
response_to do |format|
render :html "comment.html"
end
end

routes.rb

map.edit_comment "edit_comment", :controller => "comment", :action => "edit_comment"

जवाब के लिए 2 № 2

PUT और DELETE के लिए _method नाम का एक अतिरिक्त पैरामीटर जोड़ें: _method=PUT
रेल इसका उपयोग PUT और DELETE अनुकरण करने के लिए करती है।