【发布时间】:2017-07-18 01:50:46
【问题描述】:
首先,PHP 的NAMESPACE 和USE 特性是否与制作jQuery ajax 请求来处理和返回数据兼容?
我已经设置了 jQuery AJAX 请求和 PHP 处理程序,但是当我向 DFP 的 API 发出请求时,代码在第一关就失败了。 NAMESPACE 和 USE 在 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 请求尊重 NAMESPACE 和 USE。
在这种情况下是否有偏好在 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