将Vars传递给CURL对象(PO​​ST)

时间:2019-10-29 14:16:52

标签: php variables curl post

所以我有一个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"

    },

以上工作正常。为什么我的变量不起作用?我应该把它包裹起来吗?我无法弄清楚为什么它不允许我将变量传递给对象。谢谢您的帮助。

1 个答案:

答案 0 :(得分:1)

之所以发生这种情况,是因为在将单引号中的值传递给$tVa时,没有对CURLOPT_POSTFIELDS进行解析。

您可以进行如下更改

CURLOPT_POSTFIELDS => '{
"folderName":"folder name 1028-1",
"templateIds":[54909],
"fields":
    {

        "VA":'.$tVA.'

    },