Jquery - $ .post () contentType = application / json का उपयोग कैसे करें?


308

मैंने देखा है कि जब jpery में $ .post () का उपयोग किया जाता है कि डिफ़ॉल्ट सामग्रीटाइप अनुप्रयोग / x-www-form-urlencoded है - जब मेरे asp.net mvc कोड को contentType = application / json की आवश्यकता होती है

(यह प्रश्न देखें कि मुझे एप्लिकेशन / json का उपयोग क्यों करना चाहिए: ASPNET MVC - क्यों ModelState.IsValid गलत है "x फ़ील्ड की आवश्यकता है" जब उस फ़ील्ड का मान होता है? )

मैं $ .post () सामग्री कैसे भेज सकता हूं = एप्लिकेशन / json? मेरे पास पहले से ही $ .post () फ़ंक्शन की एक बड़ी संख्या है, इसलिए मैं $ .ajax () में परिवर्तन नहीं करना चाहता, क्योंकि इसमें बहुत अधिक समय लगेगा।

अगर मैं कोशिश करूँ

$.post(url, data, function(), "json") 

इसमें अभी भी contentType = application / x-www-form-urlencoded है। तो क्या वास्तव में "json" परम करता है अगर यह सामग्री के प्रकार को बदलकर json नहीं करता है?

अगर मैं कोशिश करूँ

$.ajaxSetup({
  contentType: "application/json; charset=utf-8"
});

यह काम करता है लेकिन हर एक $ .get और $ .post को प्रभावित करता है जो मेरे पास है और कुछ को तोड़ने का कारण बनता है।

तो क्या कोई तरीका है कि मैं सामग्री। टाइप करने के लिए $ .post () के व्यवहार को बदल सकता हूं = एप्लिकेशन / जसन?

जवाबों:


70

मुझे लगता है कि आपको करना पड़ सकता है

1. $ $ बनाने के लिए स्रोत का उपयोग करें। हमेशा JSON डेटा प्रकार का उपयोग करें क्योंकि यह वास्तव में प्री-कॉन्फ़िगर $.ajaxकॉल के लिए सिर्फ एक शॉर्टकट है

या

2. अपने स्वयं के उपयोगिता फ़ंक्शन को परिभाषित करें जो आपके द्वारा $.ajaxउपयोग किए जाने वाले कॉन्फ़िगरेशन के लिए एक शॉर्टकट है

या

3. आप $.post functionबंदर पैचिंग के माध्यम से अपने स्वयं के कार्यान्वयन के साथ ओवरराइट कर सकते हैं ।

JSON डेटाटाइप आपके उदाहरण में सर्वर से लौटाए गए डेटाटाइप को संदर्भित करता है न कि सर्वर को भेजा गया प्रारूप ।


5
+1, मैं एक नई विधि, या ओवरराइटिंग jQuery.postविधि को परिभाषित करने के लिए जाऊंगा , यह एक बहुत ही सरल कार्य है ...
CMS

3
यह एक बुरा विचार नहीं है, बस $ .mvcpost () नामक एक विधि बनाएं जो $ .post (लिंक कोड की नकल करके) के समान ही करता है और साथ ही सामग्री को बदलता है। फिर सभी $ .post () के लिए जिसे बदलने की आवश्यकता है, मुझे सिर्फ 3 अतिरिक्त वर्ण सामने रखने हैं। $ .Ajax () के रूप में उन्हें फिर से लिखने की तुलना में इसकी बहुत तेज है।
जे.के.

9
@PavelRepin, मुझे पेलोड पर JSON.stringify () कॉल करना था।
उस्तामान संगत

2
@dragon - यहाँ 3 समाधान हैं "क्या कोई तरीका है कि मैं सामग्री। टाइप करने के लिए $ .post () के व्यवहार को बदल सकता हूँ = आवेदन / json?"। क्या हिस्सा एक जवाब नहीं है?
रस कैम

2
यह जानना भी महत्वपूर्ण है: $ .ajax और यह विभिन्न तरीकों का अनुमान लगाने का प्रयास करेगा कि आपके द्वारा दिए गए डेटा के आधार पर सामग्री टाइप क्या होनी चाहिए (जब तक कि यह निर्दिष्ट न हो)। "mystring data"हो जाएगा application/x-www-form-urlencoded;जहां के रूप में एक वस्तु { anyKey: "anyvalue and type" }हो जाएगा application/json। कई सर्वर जो json को पढ़ते हैं, केवल एक ऑब्जेक्ट या एरे को अनुमति देंगे, न कि एक स्ट्रिंग - इस प्रकार jquery इस तरह से चीजों की भविष्यवाणी करती है। यदि आपके पास एक सर्वर है जो किसी ऑब्जेक्ट में लिपटे बिना स्ट्रिंग्स, संख्याओं आदि को पढ़ता है, तो आपको इस उत्तर में सामग्री-प्रकार निर्दिष्ट करना होगा।
bzuillsmith

395
$.ajax({
  url:url,
  type:"POST",
  data:data,
  contentType:"application/json; charset=utf-8",
  dataType:"json",
  success: function(){
    ...
  }
})

देखें: jQuery.ajax ()


13
मूल पोस्ट पूछती है: "तो क्या कोई तरीका है कि मैं सामग्री। टाइप करने के लिए $ .post () के व्यवहार को बदल सकता हूं = आवेदन / json?" लेकिन यह भी कहा गया है कि "यह काम करता है लेकिन हर एक $ .get और $ .post को प्रभावित करता है जो मेरे पास है और कुछ को तोड़ने का कारण बनता है।" मैं इस प्रश्न को समझता हूं कि "मैं $ .post का उपयोग करने के समान कैसे प्राप्त कर सकता हूं लेकिन $ .get और $ .post की अन्य घटनाओं को तोड़े बिना सही सामग्री टाइप भेज रहा हूं"। क्या यह गलत है?
एड्रियन

5
@ X1a4 स्पष्ट रूप से यह नहीं समझता है कि .ajax कॉल है, न कि ajaxSetup
वाकर

39
@ एड्रिएन, दो साल बाद इसकी कीमत क्या है, आपका जवाब है कि जब मैं इस पर नजर गड़ाए हुए था, तो मैं उसे देख रहा था।

74
JSON.stringify(data)सर्वर का उपयोग करने की उम्मीद है, क्योंकि सर्वर JSON स्ट्रिंग और jQuery बस एम्परसेंड, प्रपत्र-urlencoded का उपयोग करके मुख्य-मूल्य जोड़े को समाप्‍त करेगा।
ड्रैगन

3
चार साल बाद भी, इस उत्तर ने दस घंटों से कम की कोड वाली मेरी खोज को हल कर दिया है।
पीटर VDE

86

अंत में मुझे समाधान मिल गया, जो मेरे लिए काम करता है:

jQuery.ajax ({
    url: myurl,
    type: "POST",
    data: JSON.stringify({data:"test"}),
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function(){
        //
    }
});

8
यह पता नहीं लगा सका कि मुझे त्रुटियाँ क्यों मिलीं, पता चलता है कि आपको डेटा को सख्त करना होगा।
FriendlyGuy

5
मुझे पता है कि यह काम करता है, लेकिन क्यों तुम को कड़े करने की जरूरत है? क्या यह एक jQuery बग है? यह आपके dataतर्क को क्रमबद्ध करने के लिए पूरी तरह से खुश लग रहा है x-www-form-urlencoded, लेकिन यदि आप इंगित करते हैं कि अनुरोध सामग्री प्रकार JSON है, तो यह अभी भी dataबेमेल प्रारूप में भेजने पर जोर देता है ।
पावेल रेपिन

कुंआ। मैंने इसे ज्यादा नहीं पचाया। मुझे खुशी थी कि यह काम कर रहा था। ;) मेरे सर्वर को JSON की आवश्यकता है।
vvkatwss vvkatwss

मुझे भी। JSON.stringify के बिना यह काम नहीं करता है, मुझे आश्चर्य है कि क्यों।
जॉन सिमोस

42

मैंने अपनी स्क्रिप्ट में jQuery के लिए निम्न विधि को जोड़ा:

jQuery["postJSON"] = function( url, data, callback ) {
    // shift arguments if data argument was omitted
    if ( jQuery.isFunction( data ) ) {
        callback = data;
        data = undefined;
    }

    return jQuery.ajax({
        url: url,
        type: "POST",
        contentType:"application/json; charset=utf-8",
        dataType: "json",
        data: data,
        success: callback
    });
};

और इसका उपयोग करने के लिए

$.postJSON('http://url', {data: 'goes', here: 'yey'}, function (data, status, xhr) {
    alert('Nailed it!')
});

यह मूल JQuery स्रोतों से बस "प्राप्त" और "पोस्ट" के कोड की नकल करके और JSON POST को बाध्य करने के लिए कुछ मापदंडों को हार्डकोड करके किया गया था।

धन्यवाद!


2
हमेशा की तरह - सबसे अच्छा जवाब पार्टी के लिए आता है और कम से कम उत्थान होता है; (
nikib3ro

महान जवाब - यह महसूस करने में थोड़ा समय लगता है कि $ .post यह "बॉक्स से बाहर" नहीं करता है।
अंकुश्री

21

बस का उपयोग करें

jQuery.ajax ({
    url: myurl,
    type: "POST",
    data: mydata,
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function(){
        //
    }
});

अद्यतन @JK: यदि आप अपने प्रश्न में $ के साथ केवल एक कोड उदाहरण लिखते हैं। तो आपको उत्तर में एक संबंधित उदाहरण मिलता है। मैं वही जानकारी दोहराना नहीं चाहता, जो आपने पहले से ही जान ली है: $ .Post और $ .get $ .ajax के संक्षिप्त रूप हैं। तो बस $ .ajax का उपयोग करें और आप किसी भी वैश्विक सेटिंग्स को बदलने के लिए बिना मापदंडों के पूर्ण सेट का उपयोग कर सकते हैं।

वैसे मैं मानक $ .post को ओवरराइट करने की सलाह नहीं दूंगा। यह मेरी निजी राय है , लेकिन मेरे लिए यह महत्वपूर्ण है, न केवल यह कि कार्यक्रम काम करता है, बल्कि यह भी कि आपके कार्यक्रम को पढ़ने वाले सभी इसे उसी तरह से समझते हैं। बहुत महत्वपूर्ण कारण के बिना मानक तरीकों को अधिलेखित करने से प्रोग्राम कोड को पढ़ने में गलतफहमी हो सकती है । तो मैं अपने सिफारिश एक बार दोहराने: सिर्फ मूल $ का उपयोग .ajax बजाय jQuery फार्म jQuery.getऔर jQuery.postऔर आप प्रोग्राम प्राप्त है जो न केवल पूरी तरह से काम करते हैं, लेकिन किसी भी गलतफहमी के बिना लोगों द्वारा पढ़ा जा सकता है।


1
महान व्याख्या और दिशानिर्देश
वेद प्रकाश १५

8

"Json" डेटाटाइप जो आप पोस्ट करने के लिए अंतिम पैरामीटर के रूप में पारित कर सकते हैं () यह दर्शाता है कि सर्वर किस प्रकार के डेटा की फ़ंक्शन की प्रतिक्रिया में उम्मीद कर रहा है, न कि किस प्रकार यह अनुरोध में भेज रहा है। विशेष रूप से यह "स्वीकार" हेडर सेट करता है।

ईमानदारी से आपका सबसे अच्छा दांव एक अजाक्स () कॉल पर स्विच करना है। पद () फ़ंक्शन का मतलब एक सुविधा के रूप में है; अजाक्स का एक सरलीकृत संस्करण () तब कॉल करें जब आप केवल एक साधारण फॉर्म पोस्टिंग कर रहे हों। तुम नहीं हो

यदि आप वास्तव में स्विच नहीं करना चाहते हैं, तो आप अपना स्वयं का फंक्शन कॉल कर सकते हैं, कह सकते हैं, xpost (), और यह बस दिए गए मापदंडों को jQuery ajax () कॉल के लिए सामग्री-प्रकार सेट के साथ रूपांतरित करता है। इस तरह, उन सभी पोस्ट () फ़ंक्शन को ajax () फ़ंक्शन में फिर से लिखने के बजाय, आपको बस उन सभी को पोस्ट से xpost (या जो भी) में बदलना होगा।


इसका केवल $ .post () मेथड है जो asp.net mvc कंट्रोलर मेथड कहता है जिसे बदलने की आवश्यकता है। शुद्ध jquery वाले अपरिवर्तित होने चाहिए (स्वत: पूर्ण, डायोप्लॉग, jqgrid आदि) मुझे उम्मीद थी कि एक साधारण बदलाव होगा जो मैं प्रासंगिक $ .post () में कर सकता हूं। लेकिन ऐसा लगता है कि मुझे उन्हें $ .ajax () में बदलने की आवश्यकता है। इसका एक बड़ा और बहुत ही अजाक्स भारी ऐप है, इसलिए उनमें से बहुत कुछ बदलना है।
जे.के.

5

मुझे पता है कि यह एक देर से जवाब है, मेरे पास वास्तव में एक शॉर्टकट तरीका है जिसे मैं एमएस आधारित सेवाओं से पोस्ट करने / पढ़ने के लिए उपयोग करता हूं .. यह एमवीसी के साथ-साथ एएसएमएक्स आदि के साथ काम करता है ...

उपयोग:

$.msajax(
  '/services/someservice.asmx/SomeMethod'
  ,{}  /*empty object for nothing, or object to send as Application/JSON */
  ,function(data,jqXHR) {
    //use the data from the response.
  }
  ,function(err,jqXHR) {
    //additional error handling.
  }
);
//sends a json request to an ASMX or WCF service configured to reply to JSON requests.
(function ($) {
  var tries = 0; //IE9 seems to error out the first ajax call sometimes... will retry up to 5 times

  $.msajax = function (url, data, onSuccess, onError) {
    return $.ajax({
      'type': "POST"
      , 'url': url
      , 'contentType': "application/json"
      , 'dataType': "json"
      , 'data': typeof data == "string" ? data : JSON.stringify(data || {})
      ,beforeSend: function(jqXHR) {
        jqXHR.setRequestHeader("X-MicrosoftAjax","Delta=true");
      }
      , 'complete': function(jqXHR, textStatus) {
        handleResponse(jqXHR, textStatus, onSuccess, onError, function(){
          setTimeout(function(){
            $.msajax(url, data, onSuccess, onError);
          }, 100 * tries); //try again
        });
      }
    });
  }

  $.msajax.defaultErrorMessage = "Error retreiving data.";


  function logError(err, errorHandler, jqXHR) {
    tries = 0; //reset counter - handling error response

    //normalize error message
    if (typeof err == "string") err = { 'Message': err };

    if (console && console.debug && console.dir) {
      console.debug("ERROR processing jQuery.msajax request.");
      console.dir({ 'details': { 'error': err, 'jqXHR':jqXHR } });
    }

    try {
      errorHandler(err, jqXHR);
    } catch (e) {}
    return;
  }


  function handleResponse(jqXHR, textStatus, onSuccess, onError, onRetry) {
    var ret = null;
    var reterr = null;
    try {
      //error from jqXHR
      if (textStatus == "error") {
        var errmsg = $.msajax.defaultErrorMessage || "Error retreiving data.";

        //check for error response from the server
        if (jqXHR.status >= 300 && jqXHR.status < 600) {
          return logError( jqXHR.statusText || msg, onError, jqXHR);
        }

        if (tries++ < 5) return onRetry();

        return logError( msg, onError, jqXHR);
      }

      //not an error response, reset try counter
      tries = 0;

      //check for a redirect from server (usually authentication token expiration).
      if (jqXHR.responseText.indexOf("|pageRedirect||") > 0) {
        location.href = decodeURIComponent(jqXHR.responseText.split("|pageRedirect||")[1].split("|")[0]).split('?')[0];
        return;
      }

      //parse response using ajax enabled parser (if available)
      ret = ((JSON && JSON.parseAjax) || $.parseJSON)(jqXHR.responseText);

      //invalid response
      if (!ret) throw jqXHR.responseText;  

      // d property wrap as of .Net 3.5
      if (ret.d) ret = ret.d;

      //has an error
      reterr = (ret && (ret.error || ret.Error)) || null; //specifically returned an "error"

      if (ret && ret.ExceptionType) { //Microsoft Webservice Exception Response
        reterr = ret
      }

    } catch (err) {
      reterr = {
        'Message': $.msajax.defaultErrorMessage || "Error retreiving data."
        ,'debug': err
      }
    }

    //perform final logic outside try/catch, was catching error in onSuccess/onError callbacks
    if (reterr) {
      logError(reterr, onError, jqXHR);
      return;
    }

    onSuccess(ret, jqXHR);
  }

} (jQuery));

नोट: मेरे पास एक JSON.parseAjax विधि भी है जो json.org की JS फ़ाइल से संशोधित है, जो MS "/Date(..)/" तिथियों के लिए हैंडलिंग जोड़ता है ...

संशोधित json2.js फ़ाइल शामिल नहीं है, यह IE8 के मामले में स्क्रिप्ट आधारित पार्सर का उपयोग करता है, क्योंकि ऐसे उदाहरण हैं जहां आप सरणी और / या ऑब्जेक्ट के प्रोटोटाइप का विस्तार करते समय देशी पार्सर को तोड़ते हैं, आदि।

मैं वादों के इंटरफेस को लागू करने के लिए इस कोड को संशोधित करने पर विचार कर रहा हूं, लेकिन यह मेरे लिए बहुत अच्छा काम कर रहा है।


5

$। PostJSON () के लिए यह सरल jquery एपीआई एक्सटेंशन ( से: https://benjamin-schweizer.de/jquerypostjson.html ) करता है। आप हर दूसरे नेटिव जेक्विरी अजाक्स कॉल की तरह पोस्टजन्स () का उपयोग कर सकते हैं। आप इवेंट हैंडलर इत्यादि संलग्न कर सकते हैं।

$.postJSON = function(url, data, callback) {
  return jQuery.ajax({
    'type': 'POST',
    'url': url,
    'contentType': 'application/json; charset=utf-8',
    'data': JSON.stringify(data),
    'dataType': 'json',
    'success': callback
  });
};

अन्य अजाक्स एपीआई (जैसे AngularJS से $ http) की तरह यह एप्लिकेशन / जोंस के लिए सही कंटेंट टाइप सेट करता है। आप अपने जसन डेटा (जावास्क्रिप्ट ऑब्जेक्ट) को सीधे पास कर सकते हैं, क्योंकि यह यहां कड़ा हो जाता है। अपेक्षित डेटा डेटा टाइप JSON पर सेट है। आप वादों के लिए jquery के डिफ़ॉल्ट ईवेंट हैंडलर संलग्न कर सकते हैं, उदाहरण के लिए:

$.postJSON(apiURL, jsonData)
 .fail(function(res) {
   console.error(res.responseText);
 })
 .always(function() {
   console.log("FINISHED ajax post, hide the loading throbber");
 });

4

इस मामले के दिल में तथ्य यह है कि लेखन के समय JQuery के पास पोस्टजोन विधि नहीं है जबकि getJSON मौजूद है और सही काम करता है।

एक पोस्टजोन विधि निम्नलिखित करेगी:

postJSON = function(url,data){
    return $.ajax({url:url,data:JSON.stringify(data),type:'POST', contentType:'application/json'});
};

और इस तरह इस्तेमाल किया जा सकता है:

postJSON( 'path/to/server', my_JS_Object_or_Array )
    .done(function (data) {
        //do something useful with server returned data
        console.log(data);
    })
    .fail(function (response, status) {
        //handle error response
    })
    .always(function(){  
      //do something useful in either case
      //like remove the spinner
    });

1

प्रलेखन वर्तमान में पता चलता है कि 3.0 के रूप में, .post $ सेटिंग्स आपत्ति को स्वीकार करेंगे, जिसका अर्थ है कि आप $ .ajax विकल्पों का उपयोग कर सकते हैं। 3.0 अभी तक नहीं जारी किया गया है और प्रतिबद्ध पर वे डॉक्स में इसे करने के लिए संदर्भ छुपा के बारे में बात कर रहे हैं, लेकिन भविष्य में इसके लिए देखो!


1

मेरे पास निम्नलिखित जावास्क्रिप्ट कोड के साथ एक समान समस्या थी:

var url = 'http://my-host-name.com/api/Rating';

var rating = { 
  value: 5,
  maxValue: 10
};

$.post(url, JSON.stringify(rating), showSavedNotification);

जहां फिडलर में मैं अनुरोध देख सकता था:

  • हैडर: Content-Type: application/x-www-form-urlencoded; charset=UTF-8
  • तन: {"value":"5","maxValue":"5"}

परिणामस्वरूप, मेरा सर्वर किसी ऑब्जेक्ट को सर्वर-साइड प्रकार पर मैप नहीं कर सकता है।

अंतिम पंक्ति को इसे एक में बदलने के बाद:

$.post(url, rating, showSavedNotification);

फ़िडलर में मैं अभी भी देख सकता था:

  • हैडर: Content-Type: application/x-www-form-urlencoded; charset=UTF-8
  • तन: value=5&maxValue=10

हालांकि, सर्वर ने मेरी उम्मीद के मुताबिक वापसी शुरू कर दी।


0

कैसे अपने स्वयं के एडाप्टर / आवरण के बारे में?

//adapter.js
var adapter = (function() {

return {

    post: function (url, params) {
        adapter.ajax(url, "post", params);
        },
    get: function (url, params) {
        adapter.ajax(url, "get", params);
    },
    put: function (url, params) {
        adapter.ajax(url, "put", params);
    },
    delete: function (url, params) {
        adapter.ajax(url, "delete", params);
    },
    ajax: function (url, type, params) {
        var ajaxOptions = {
            type: type.toUpperCase(),
            url: url,
            success: function (data, status) {
                var msgType = "";
                // checkStatus here if you haven't include data.success = true in your
                // response object
                if ((params.checkStatus && status) || 
                   (data.success && data.success == true)) {
                            msgType = "success";
                            params.onSuccess && params.onSuccess(data);
                    } else {
                            msgType = "danger";
                            params.onError && params.onError(data);
                    }
            },
            error: function (xhr) {
                    params.onXHRError && params.onXHRError();
                    //api.showNotificationWindow(xhr.statusText, "danger");
            }
        };
        if (params.data) ajaxOptions.data = params.data;
        if (api.isJSON(params.data)) {
            ajaxOptions.contentType = "application/json; charset=utf-8";
            ajaxOptions.dataType = "json";
        }
        $.ajax($.extend(ajaxOptions, params.options));
    }
})();

    //api.js
var api = {
  return {
    isJSON: function (json) {
        try {
            var o = JSON.parse(json);
            if (o && typeof o === "object" && o !== null) return true;
        } catch (e) {}
        return false;
    }
  }
})();

और अत्यंत सरल उपयोग:

adapter.post("where/to/go", {
    data: JSON.stringify(params),
    onSuccess: function (data) {
        //on success response...
    }
    //, onError: function(data) {  //on error response... }
    //, onXHRError: function(xhr) {  //on XHR error response... }
});

कोशिश की लेकिन फिर भी अपेक्षित परिणाम नहीं मिल रहे हैं। मेरे पास स्प्रिंग बूट रेस्ट एपीआई है।
सूरज शिंगडे

0

किसी कारण से, @ ariax के रूप में ajax अनुरोध पर सामग्री प्रकार सेट करने का सुझाव दिया मेरे मामले में काम नहीं किया। हालाँकि, आप वास्तव में पहले ऐसा करके $ .post का उपयोग करके सामग्री प्रकार बदल सकते हैं:

$.ajaxSetup({
    'beforeSend' : function(xhr) {
        xhr.overrideMimeType('application/json; charset=utf-8');
    },
});

फिर अपना $.postकॉल करें:

$.post(url, data, function(), "json")

मुझे jQuery + IIS से परेशानी थी, और यह एकमात्र समाधान था जिसने jQuery को ajax अनुरोधों के लिए windows-1252 एन्कोडिंग का उपयोग करने में समझने में मदद की।


0

हम इस तरह की सामग्री-प्रकार को $ .post में बदल सकते हैं

$ .post (url, data, function (data, status, xhr) {xhr.setRequestHeader ("सामग्री-प्रकार", "एप्लिकेशन / x-www-form-urlencoded; charset = utf-8");});


-1

यदि आपके पास CORS (क्रॉस ओरिजिनल रिसोर्स शेयरिंग) समस्या है तो $ .post काम नहीं करता है। निम्नलिखित प्रारूप में $ .Ajax का उपयोग करने का प्रयास करें: "$ .ajax ({url: someurl, contentType: 'application / json', डेटा: requestInJSONFormat, शीर्ष लेख: {'Access-Control- allow -Origin': '*'}), dataType: 'json', प्रकार: 'POST', async: गलत, सफलता: फ़ंक्शन (डेटा) {}}}; "


-19

आप application/jsonसीधे नहीं भेज सकते हैं - यह GET / POST अनुरोध का एक पैरामीटर होना चाहिए।

तो कुछ ऐसा है

$.post(url, {json: "...json..."}, function());

यह उत्तर गलत हो सकता है, लेकिन यह निम्न गुणवत्ता वाला नहीं है, और यह प्रश्न का उत्तर देने का एक प्रयास है। समीक्षा से
वाई हा ली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.