一次 Ajax 调用中有 2 个 URL


2 urls in one ajax call?

我想知道我是否可以在我的代码上做这个jquery ajax:

$.ajax({
  type: "POST",
  dataType: 'json',
  url: "functions/ajaxNca_add.php", "functions/ajaxNca_update.php",
  data: dataString,
  cache: false,
  success: function(response){
    // show success
    alert(response.a);
}

上面的代码只是一个示例,我知道它不起作用。如何在 jquery 中的一个 ajax 请求中调用 2 个 php 脚本?有人可以帮忙吗?

不,你不能这样做。如果你看一下jquery ajax文档,你会发现url只接受字符串,而不是一个刺痛数组。

您应该发出两个请求,或者创建另一个*.php入口点,该入口点将合并两个 php 脚本并调用此入口点。

不能同时调用 2 个 url,但可以一个接一个地调用。

        $.ajax({
      type: "POST",
      dataType: 'json',
      url: "functions/ajaxNca_add.php",
      data: dataString,
      cache: false,
      success: function(response){
$.ajax({
      type: "POST",
      dataType: 'json',
      url: "functions/ajaxNca_update.php",
      data: dataString,
      cache: false,
      success: function(response){
//responce
}
    });
}
    });

$.ajax({
          type: "POST",
          dataType: 'json',
          url: "functions/ajaxNca_add.php", 
          data: dataString,
          cache: false,
 async: true,
          success: function(response){
//responce
}});
 $.ajax({
          type: "POST",
          dataType: 'json',
          url: "functions/ajaxNca_update.php",
          data: dataString,
          cache: false,
 async: true,
          success: function(response){
//responce
}});

异步:真 - 同步您的 AJAX 调用

更简单的方法:

您还可以对functions/ajaxNca_add.php文件执行一次 ajax 调用,并包含第二个文件 functions/ajaxNca_update.php在第一个 ajax 文件中。

因此,从一个 ajax 调用中,您一次可以访问 2 个文件。

您可以先定义对象,然后需要通过更改 url 调用 ajax 两次。

var ajaxObj = {
    type: "POST",
    data: thisForm.serialize(),
    success: function (response) {
        if(response.status=="success"){
            dataLayer.push({'event' : 'requestdemo_form_submitted', 'request_demo_submit_event_gtm' : 'request_demo_submit_event_gtm'});
            $('.sidebar-req-sec').addClass('hide');
            $('.sidebar-req-sec-thnk').removeClass('hide');
            $('.sidebar-req-sec-thnk').addClass('show');
        }
    }
};
//url1 ajax 
ajaxObj.url = 'url1';
jQuery.ajax(ajaxObj);
//url2 ajax
ajaxObj.url = 'url2';
jQuery.ajax(ajaxObj);