Php Ajax函数在末尾返回1上的数据
我用Ajax获得了一些html代码。 我检索代码。但最后我得到1(或11) 我注意到,如果我只调用一次Php Ajax函数在末尾返回1上的数据,php,ajax,wordpress,Php,Ajax,Wordpress,我用Ajax获得了一些html代码。 我检索代码。但最后我得到1(或11) 我注意到,如果我只调用一次require\u,函数只返回一次1。 如果我返回一个值而不调用get\u cart\u content(),那么代码末尾也没有1 我试了很多。。。喜欢 数据类型:html或json和json_解码。我还试过require,require,include等。 代码末尾总是有11个。。。如果我记录代码,它会被注释掉,但是如果我把它放在我的文档中,它会正常显示。我想这不是问题,但可能会有所帮助
require\u
,函数只返回一次1。
如果我返回一个值而不调用get\u cart\u content()
,那么代码末尾也没有1
我试了很多。。。喜欢
数据类型:html或json和json_解码。我还试过require,require,include等。
代码末尾总是有11个。。。如果我记录代码,它会被注释掉,但是如果我把它放在我的文档中,它会正常显示。我想这不是问题,但可能会有所帮助
<!-- <a href=" " class="button wps-sc-cont btn"></a> -->
</div>
</div>
</div>11
11
我们需要按照以下要求更改代码
add_action( 'wp_ajax_nopriv_getCart', 'getCart' );
add_action( 'wp_ajax_getCart', 'getCart' );
function getCart(){
$response = array(
'type' => 'success',
'html' => get_cart_content()
);
wp_send_json_success($response);
wp_die();
}
function get_cart_content() {
ob_start();
require_once('wps-cart-content.php');
require_once('wps-cart-footer.php');
return ob_get_clean();
}
$.ajax({
type: "GET",
url: '/wp-admin/admin-ajax.php',
dataType: 'json',
data: {
action: 'getCart',
},
success: function (data) {
switch(res.data.type) {
case 'success' :
console.log(res.data.html)
break;
case 'failure' :
break;
default :
break;
}
},
error: function (jqXHT, textStatus, errorThrown)
{console.log('Fehler');}
});
移除echo并检查其工作是否“成功包含,除非被包含的文件覆盖,否则返回1”(从
include
;require
/require\u once
上的手册中)如果包含的文件实际返回了任何内容,则例外,但是你用的那些显然没有。直接创建输出(它将直接进入输出缓冲区),因此所有附加到变量的内容都是require语句返回的1
。由于您返回并回显它,您首先得到这些文件的输出,然后分配require_once语句的返回值。但是这些文件返回的是我想要的。返回正确的数据。除此之外,每个附加1。有解决的办法吗?这对我很有效!谢谢我使用它时没有数据类型:“json”
,而是使用ob_start()编码>并返回ob_get_clean()代码>并且它工作!谢谢
$.ajax({
type: "GET",
url: '/wp-admin/admin-ajax.php',
data: {
action: 'getCart',
},
success: function (data) {
console.log(data);
},
error: function (jqXHT, textStatus, errorThrown)
{console.log('Fehler');}
});
<!-- <a href=" " class="button wps-sc-cont btn"></a> -->
</div>
</div>
</div>11
add_action( 'wp_ajax_nopriv_getCart', 'getCart' );
add_action( 'wp_ajax_getCart', 'getCart' );
function getCart(){
$response = array(
'type' => 'success',
'html' => get_cart_content()
);
wp_send_json_success($response);
wp_die();
}
function get_cart_content() {
ob_start();
require_once('wps-cart-content.php');
require_once('wps-cart-footer.php');
return ob_get_clean();
}
$.ajax({
type: "GET",
url: '/wp-admin/admin-ajax.php',
dataType: 'json',
data: {
action: 'getCart',
},
success: function (data) {
switch(res.data.type) {
case 'success' :
console.log(res.data.html)
break;
case 'failure' :
break;
default :
break;
}
},
error: function (jqXHT, textStatus, errorThrown)
{console.log('Fehler');}
});