क्रोम में यह एक HTTP PUT ऐसा ही करता है, लेकिन फ़ायरफ़ॉक्स 21 में ऐसा नहीं होता है। जावास्क्रिप्ट कंसोल में या बैकएंड में कोई त्रुटि नहीं है। यहाँयह jQuery AJAX PUT क्रोम में क्यों काम करता है लेकिन एफएफ
<div id="createTeamModal" class="small reveal-modal">
<form id="createTeamForm">
<div class="row"><p id="teamFlavorText" class="lead">Building a new team</p></div>
<div class="row">
<div class="small-4 large-4 columns"><label>Team Name:</label></div>
<div class="small-6 large-6 columns"><input name="teamName" id="teamName" type="text" size="20"/></div>
</div>
<div class="row"><p class="lead">Does this team work for a business?</p></div>
<div class="row">
<div class="small-4 large-4 columns"><label>Business Size:</label></div>
<div class="small-6 large-6 columns">
<select id="businessSizeSelect" name="businessSizeSelect">
<option value="1">Nope, I work alone</option><option value="2">2 to 49</option><option value="3">50 to 99</option><option value="4">100 to 999</option><option value="5">1,000+</option>
</select>
</div>
</div>
<div id="businessLocationDiv" class="row" style="display: none; margin-top: 20px;">
<div class="small-4 large-4 columns"><label>Business Location:</label></div>
<div class="small-6 large-6 columns">
<select id="businessLocationSelect" name="businessLocationSelect">
</select>
</div>
</div>
<div id="businessTypeDiv" class="row" style="display: none; margin-top: 20px;">
<div class="small-4 large-4 columns"><label>Industry:</label></div>
<div class="small-6 large-6 columns">
<select id="businessTypeSelect" name="businessTypeSelect">
</select>
</div>
</div>
<div class="row" style="margin-top: 20px;">
<div class="large-offset-10 small-1 large-1 columns">
<button id="createTeamButton" class="small button">Create</button>
</div>
</div>
</form>
<a class="close-reveal-modal">×</a>
</div>
और है jQuery:
यहाँ HTML है
$("#createTeamButton").click(function() {
var teamObject = new Team();
teamObject.description = $("#teamName").val();
teamObject.businessSize = $("#businessSizeSelect").val();
teamObject.businessType = $("#businessTypeSelect").val();
teamObject.businessLocation = $("#businessLocationSelect").val();
$.ajax({
type: "PUT",
url: "/ajax/rest/team",
dataType: "json",
data: JSON.stringify(teamObject),
success: function() {
// Reload the team select box
loadTeamSelectBox();
// Pop up the site create modal
$('#createSiteModal').foundation('reveal', 'open');
},
error: ajaxErrorHandler
});
});
मैं उन्हें फ़िडलर में देखा है, और (क्रोम) काम कर रहा है और काम कर के बीच अंतर (Firefox) यह है कि HTTP PUT क्रोम में आग लगती है और फ़ायरफ़ॉक्स में आग नहीं होती है।
अब, मुझे पता है कि jQuery.ajax PUT सभी ब्राउज़रों में गारंटी नहीं है।
मैं
- Are the PUT, DELETE, HEAD, etc methods available in most web browsers?
- http://annevankesteren.nl/2007/10/http-method-support
इन साइटों कि PUT सभी ब्राउज़रों में काम नहीं कर सकता पुष्टि पढ़ा है, लेकिन एफएफ में काम करना चाहिए।
अंत में, मैं FF21 साथ निम्नलिखित मारा और PUT
मैं निश्चित रूप से इस के आसपास इंजीनियर सकता है काम करता है, लेकिन यह इस काम करना चाहिए मुझे लगता है। मैं बल्कि जेरी-रिग कुछ नहीं, बल्कि jQuery के .ajax ठीक से काम करने के लिए मिलता है।
अन्य विवरण: * jQuery संस्करण 2.0.0 * बैकएंड Spring3
है[HTML संपादित करें जोड़ने के लिए]
मुझे नहीं लगता कि यह सभी ब्राउज़रों में समर्थन करेगा। लेकिन यहां कुछ लिंक समान हैं http://stackoverflow.com/questions/5846741/jquery-put-ajax-request-not-working http://stackoverflow.com/questions/5894400/does-jquery-ajax-work-in- आधुनिक ब्राउज़र-साथ-साथ-हटाएं और हटाएं – Sakthivel
आपका बैकएंड क्या है? – Sagish
यदि आपको लगता है कि यह एक jQuery बग है, तो आपको उस jQuery का सटीक संस्करण प्रदान करना चाहिए जिसका आप उपयोग कर रहे हैं। लेकिन मुझे नहीं लगता कि इसका 'पुट' के साथ कुछ लेना देना है, क्योंकि यूआरएल भी बदलता है। – Esailija