所以我有一个post CURL对象,当我将变量传递给它时,我总是收到错误消息。当我对其进行硬编码时,CURL发布工作正常。我究竟做错了什么?我知道该变量已设置,因为当我将其回显到屏幕时它将显示该值。
$tVA = "false";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://xyzservice.com",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{
"folderName":"folder name 1028-1",
"templateIds":[54909],
"fields":
{
"VA":$tVA
},
上面的代码抛出错误:
Trying to get property 'embeddedSigningSessions' of non-object
Trying to get property 'embeddedSessionURL' of non-object in
但是当我将值硬编码时,它就可以正常工作。没有错误。
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://xyzservice.com",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{
"folderName":"folder name 1028-1",
"templateIds":[54909],
"fields":
{
"VA":"false"
},
以上工作正常。为什么我的变量不起作用?我应该把它包裹起来吗?我无法弄清楚为什么它不允许我将变量传递给对象。谢谢您的帮助。
答案 0 :(得分:1)
之所以发生这种情况,是因为在将单引号中的值传递给$tVa
时,没有对CURLOPT_POSTFIELDS
进行解析。
您可以进行如下更改
CURLOPT_POSTFIELDS => '{
"folderName":"folder name 1028-1",
"templateIds":[54909],
"fields":
{
"VA":'.$tVA.'
},