Как вызвать разные вызовы ajax с помощью onload и onclick в jquery, используя fuction - PullRequest
0 голосов
/ 30 сентября 2018

Я использую простой вызов ajax при загрузке и onclick, я использую функцию для него. Вот мой URL вызова ajax отличается от onload и onclick, я использовал функцию и другой параметр, но он все еще показывает предыдущий json, используя onclick.Ниже мой код, обновленный в plunker https://plnkr.co/edit/YOeklbX5shZCnHVRktyK?p=preview

html

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="script.js"></script>
<div id="critical">
 <span id="name1"></span> : <span id="value1"></span>
 </div>
 <div id="major">
 <span id="name2"></span> : <span id="value2"></span>
 </div>
 <div id="minor">
 <span id="name3"></span> : <span id="value3"></span>
 </div>
<button>click</button>

javascript

$(document).ready(function(){
$.fn.reload_cart = function(){ 
    $.ajax({
        type: "GET",
        url: "1.json",
        success: function(result) {
            $("#name1").text(result.critical[0].name);
            $("#value1").text(result.critical[0].value);

            $("#name2").text(result.major[0].name);
            $("#value2").text(result.major[0].value);

            $("#name3").text(result.minor[0].name);
            $("#value3").text(result.minor[0].value);
        }
    });
  }
 $.fn.reload_cart(); 
    $("button").click(function(){
        var url2;
        $.fn.reload_cart(url2); 
        url2: "2.json";
    });
});

1.json

{
    "critical": [{
        "name": "critical",
        "value": "50"
    }],
    "major": [{
        "name": "major",
        "value": "40"
    }],
    "minor": [{
        "name": "minor",
        "value": "20"
    }]
}

2.json

{
    "critical": [{
        "name": "criticalnew",
        "value": "53"
    }],
    "major": [{
        "name": "majornew",
        "value": "43"
    }],
    "minor": [{
        "name": "minornew",
        "value": "23"
    }]
}

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Вам нужно передать имя файла json в функции reload_cart() и проверить, передано ли имя файла, затем прочитать из этого файла (1.json), а затем прочитать из другого файла (2.json).Пожалуйста, ваш javascript код для следующего:

$(document).ready(function(){
$.fn.reload_cart = function(url){
  if(!url){
     url = "1.json"
  }
    $.ajax({
        type: "GET",
        url: url,
        success: function(result) {
            $("#name1").text(result.critical[0].name);
            $("#value1").text(result.critical[0].value);

            $("#name2").text(result.major[0].name);
            $("#value2").text(result.major[0].value);

            $("#name3").text(result.minor[0].name);
            $("#value3").text(result.minor[0].value);
        }
    });
  }
 $.fn.reload_cart(); 
    $("button").click(function(){
        var url2 = "2.json";
        $.fn.reload_cart(url2);
    });
});

Я обновил ваш Plunker

0 голосов
/ 30 сентября 2018

Вам нужно, чтобы ваша функция reload_cart приняла параметр url.

$(document).ready(function() {
  $.fn.reload_cart = function(url) {
    $.ajax({
      type: "GET",
      url: url,
      success: function(result) {
        $("#name1").text(result.critical[0].name);
        $("#value1").text(result.critical[0].value);

        $("#name2").text(result.major[0].name);
        $("#value2").text(result.major[0].value);

        $("#name3").text(result.minor[0].name);
        $("#value3").text(result.minor[0].value);
      }
    });
  }
  $.fn.reload_cart("1.json");
  $("button").click(function() {
    $.fn.reload_cart("2.json");
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...