【问题标题】:PHP jQuery Use NamespacePHP jQuery 使用命名空间
【发布时间】:2017-07-18 01:50:46
【问题描述】:

首先,PHP 的NAMESPACEUSE 特性是否与制作jQuery ajax 请求来处理和返回数据兼容?

我已经设置了 jQuery AJAX 请求和 PHP 处理程序,但是当我向 DFP 的 API 发出请求时,代码在第一关就失败了。 NAMESPACEUSE 在 jQuery 被发送到的 php 脚本的顶部声明。

use Google\AdsApi\Dfp\v201611\DFPLineItems;
use Google\AdsApi\Dfp\v201611\GetAvailabilityForecast;

require 'vendor/autoload.php';

出现的错误 -

Fatal error: Uncaught exception 'InvalidArgumentException' with message 'file does not exist'.

简而言之,当命名空间在发出请求时不起作用时会发生这种情况。

如果可能的话,我需要哪些工具来确保 jQuery 请求尊重 NAMESPACEUSE

在这种情况下是否有偏好在 jQuery 中使用特定数据类型来更好地处理请求,例如 xml、json、脚本或 html?

    <script>
        jQuery(document).ready(function($) {            
            $(document).on('click','#pbd-alp-load-posts a',function () {
                var country = $('#country').val();;
                $.ajax({
                    type: "POST",
                    url: "<?php echo site_url() ?>/wp-content/themes/truemag-child/orders/fetch.php", 
                    data: {country:country},
                    dataType: "html",
                    success: function(response){
                        $("#response_container").append(response);
                        //$('#pbd-alp-load-posts a').blur();
                        //console.log(page*10);                         
                    }
                });
            return false;
            });
        });
      </script> 

【问题讨论】:

  • 很难在没有看到代码的情况下判断,但脚本的顶部 - 在使用命名空间之前 - 可能应该是自动加载器。你也包括那个吗?除此之外,ajax 请求和其他请求一样是普通的 http 请求。
  • 包括自动加载器。为问题添加了脚本顶部的代码 sn-p
  • jQuery 不关心 PHP 命名空间(客户端与服务器端脚本处理)。
  • 对我的 fetch 脚本的 AJAX 请求忽略所有命名空间和 use 语句。如果我直接加载它,它可以正常工作。

标签: php jquery ajax namespaces google-dfp


【解决方案1】:

这个问题与我的代码没有任何关系。

这是我用来引导 ajax 请求的路径。因为我使用的是 WordPress 框架,所以需要使用 WordPress 中的路径模板将请求设为相对 URL。因此,我没有使用绝对 URL,而是使用了基于 WordPress 的 URL,一切都完美无缺。

url: "http://127.0.0.1/wordpress/fetch-inventory/", 

而不是

url: "<?php echo site_url() ?>/wp-content/themes/truemag-child/orders/fetch.php",

【讨论】:

    猜你喜欢
    • 2012-01-14
    • 1970-01-01
    • 2011-05-08
    • 2012-05-19
    • 2020-01-11
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多