【问题标题】:How to pass yii2 search params through javascript api call如何通过 javascript api 调用传递 yii2 搜索参数
【发布时间】:2020-04-03 15:39:13
【问题描述】:

我的搜索参数是

$params=Yii::$app->request->queryParams;

我的 api 调用是这样的

function doInBackground(){
      var params=<?=json_encode($params)?>;
       $.get('car/get-map-data',
          {
           "params":params
      },
      function(data){
        if(data)
        {
          console.log(data);
        }
      }); 
    }

但是我遇到了类似的错误

PHP Notice – yii\base\ErrorException
Array to string conversion

上线

var params=<?=json_encode($params)?>;

如何解决。我想将搜索参数传递给另一个 api。

【问题讨论】:

    标签: javascript php search yii2


    【解决方案1】:

    你可以使用getQueryString()

    function doInBackground(){
      var params=<?=Yii::$app->request->getQueryString();?>;
       $.get('car/get-map-data',
          {
           "params":params
      },
      function(data){
        if(data)
        {
          console.log(data);
        }
      }); 
    }
    

    【讨论】:

    • 我试过这个。但是过滤器在服务器端不起作用。我们需要从服务器端将此查询字符串转换为查询参数吗??
    【解决方案2】:

    我认为通过URLSearchParams 处理查询参数会比通过PHP 获取它们更非hacky 和更清晰的解决方案。

    通过URLSearchParams,您可以将它们收集到 JS 对象中,并将其作为 POST 数据正确传递给您的 AJAX 请求。

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      相关资源
      最近更新 更多