在 ajax 数据对象之间切换

Toggle between ajax data objects

本文关键字:之间 对象 ajax 数据      更新时间:2023-09-26

我想在单击链接时在 2 个 ajax 数据对象之间切换。使用以下方法无法做到这一点,任何人都可以建议我这样做的方法吗?谢谢!

jQuery.ajax({
  url: "/somefile.php",
  dataType: 'JSON',
  type: 'POST',
  jQuery(".togglesearch").toggle(
    function () {
      data: JSON.stringify({
        "Name": jQuery("#searchfield").val(),
        "Number": ""
      }),
    },
    function () {
      data: JSON.stringify({
        "Name": "",
        "Number": jQuery("#searchfield").val()
      }),
    } 
  );

var data = ["Name", "Number"];
var obj = {"Name":"", "Number":""};
var val = jQuery("#searchfield").val();
var n = 0;
var res;
$("button").click(function() {
  obj[data[n]] = val;
  obj[data[n === 0 ? n + 1 : n- 1]] = "";
  res = JSON.stringify(obj);
  $("label").text(JSON.stringify(res));
  // do ajax stuff
  /*
  jQuery.ajax({
     url: "/somefile.php",
     dataType: "JSON",
     type: "POST",
     data: res
  })
  */
  n = n === 0 ? 1 : 0
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<button>click</button>
<input type="text" id="searchfield" value="123" /><label></label>

我认为您必须将每个不同的 ajax 调用放在切换开关中:

 jQuery(".togglesearch").toggle(
    function () {
       jQuery.ajax({
           url: "/somefile.php",
           dataType: 'JSON',
           type: 'POST',
           data: JSON.stringify({
               "Name": jQuery("#searchfield").val(),
               "Number": ""
           })
       });
     },
    function () {
        jQuery.ajax({
           url: "/somefile.php",
           dataType: 'JSON',
           type: 'POST',
           data: JSON.stringify({
               "Name": "",
               "Number": jQuery("#searchfield").val()
           })
        });
     }
  });

试试这个:

jQuery(".togglesearch").toggle(function() {
    var data = { "Name": "", "Number": jQuery("#searchfield").val() };
    callAjax(data);
}, function(){
    var data = { "Name": jQuery("#searchfield").val(), "Number": "" };
    callAjax(data);
});
function callAjax(data) {
    jQuery.ajax({
        url: "/somefile.php",
        dataType: 'JSON',
        type: 'POST',
        data: JSON.stringify(data),
        success: function(response) { }
    )};
}

在切换中,最后使用 ajax 调用调用一个函数。让我知道它是否适合您。