मैं जेएस में नया हूं, मैं कक्षा या फ़ंक्शन बनाने का एक तरीका ढूंढ रहा हूं, मेरे कोड में हर जगह पुन: प्रयोज्य है, बस इसे पैरामीटर पास करें और परिणाम प्राप्त करें, क्योंकि वर्तमान में मैं ऐसा कर रहा हूं:

$.ajax({

          dataType: "json",
          type: "POST",
          url: "@Url.Action("power","Ranking")",
          contentType: "application/json; charset=utf-8",
          data: JSON.stringify({ "regionalManager": tmpString }),
          success: function (result) {
       })}

मैं इसे हर बार जरूरत पड़ने पर लिखता हूं, और मैं इससे बीमार हूं,

0
papagallo 27 मार्च 2018, 13:22

5 जवाब

सबसे बढ़िया उत्तर
function sendAjaxCustom(DataType,Type,Url,Ctype,Data){
      $.ajax({
          dataType: DataType,
          type: Type,
          url: Url,
          contentType: Ctype,
          data: Data,
          success: function (result) {
          return result;
       })}
}

आप इस फ़ंक्शन को JS में कॉल कर सकते हैं जैसे

var result = sendAjaxCustom("json","POST",'@Url.Action("power","Ranking")',"application/json; charset=utf-8",JSON.stringify({ "regionalManager": tmpString }));

आपके पास परिणाम चर में परिणाम होगा।

3
Smit Raval 27 मार्च 2018, 10:29

एक और तरीका है जिसमें आप अजाक्स फ़ंक्शन को कॉल कर सकते हैं और आपको सफलता मिल सकती है, प्रतिक्रिया वापसी विफल हो सकती है।

लाभ यह है कि आप प्रत्येक अजाक्स अनुरोध के लिए स्वतंत्र रूप से सफलता या असफल प्रतिक्रिया का प्रबंधन करते हैं।

$(document).ready(function() {

  function ajaxRequest(dataType, requestMethod, dataURL, jsonData) {
    return $.ajax({
      dataType: dataType,
      type: requestMethod,
      url: dataURL,
      contentType: "application/json; charset=utf-8",
      data: JSON.stringify(jsonData)
    });
  }

  var jsonData = {
    "regionalManager": "jason bourne"
  };
  ajaxRequest(
      "json",
      "POST"
      "@Url.Action('power','Ranking')",
      jsonData)
    .success((data) {
      console.log("success");
    }).error((err) {
      console.log("error");
    }).done(() {
      console.log("done");
    });
});
1
Dipak chavda 27 मार्च 2018, 10:44

एक सरल उपाय यह है कि किसी वस्तु को वापस किया जाए और उसे अजाक्स में पास किया जाए और यदि कुछ बदलाव की आवश्यकता है तो आप अजाक्स सेवा को कॉल करने से पहले वस्तु के गुणों को अपडेट कर सकते हैं

function commonAjaxParams() {
    return {
      dataType: "json",
      type: "POST",
      url: "@Url.Action("power","Ranking")",
      contentType: "application/json; charset=utf-8",
      //and so on that are common properties
    }
}

//now in your application first call the function to get the common props
var commonParams = commonAjaxParams();
//change or add an parameter to your liking
commonParams.type = 'GET';
commonParams.success = function(){...} //if this action is need
commonPramss.error = function(){...}

//now call you ajax action
$.ajax(commonParams)
1
Max Gaurav 27 मार्च 2018, 10:34

बस अपने वेरिएबल्स के साथ एक साधारण फ़ंक्शन बनाएं जिसे कॉल के बीच बदलने और वहां से $.ajax परिणाम वापस करने की आवश्यकता है।

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

जब आप इसे कॉल करना चाहते हैं:

ajaxWrapper('http://www.google.com/', { hello: 'world' }, function(result) {
    console.log(result);
});

कॉलबैक के साथ यह बहुत अधिक पुन: प्रयोज्य है, क्योंकि आप इसे कहीं भी उपयोग कर सकते हैं और जहां भी आप इसका उपयोग करते हैं, फ़ंक्शन के पूरा होने पर आप जो भी करते हैं उसे बदल सकते हैं।

3
Michael Curry 27 मार्च 2018, 10:34

आप इस तरह से एक फंक्शन बना सकते हैं

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

यूआरएल पास करें यदि यह गतिशील है और दूसरे पैरामीटर पर ऑब्जेक्ट डेटा है।

3
jhedm 27 मार्च 2018, 10:30