为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我在来自服务器的 ajax 调用中得到额外的数据作为响应?

为什么我在来自服务器的 ajax 调用中得到额外的数据作为响应?

PHP
泛舟湖上清波郎朗 2022-07-09 16:54:14
这是我的代码$url = 'https://'.$_ENV["MAIL_CHIMP_DC"] .'.api.mailchimp.com/3.0/lists/'.$_ENV["MAIL_CHIMP_LIST_ID"].'/members';    error_log('url-mail_chimp');    error_log($url);    $authorization_header=base64_encode('anystring:'.$_ENV['MAIL_CHIMP_API_KEY']);    error_log($authorization_header);    $ch=curl_init($url);    $data_string = $data;    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json','Authorization:Basic '.$authorization_header));    $result =curl_exec($ch);    error_log($result);    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);    error_log($httpcode);    curl_close($ch);    echo 'hello';这一切都在一个控制器中,该控制器在 ajax 调用中被调用。但是当我console.log(data)在 jquerysuccess处理程序上做时,我得到了由 curl 请求发送的完整响应,并且“hello”被附加到该响应中。我不知道如何发送响应。
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

您缺少CURLOPT_RETURNTRANSFERcurl 调用的选项。没有这个,curl_exec将不会将调用的响应作为字符串返回,而是直接输出。从手册CURLOPT_RETURNTRANSFER

TRUE 将传输作为 curl_exec() 的返回值的字符串返回,而不是直接输出。

所以,添加

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

到您的代码,输出应正确返回到您的$result变量中。


查看完整回答
反对 回复 2022-07-09
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号