0

Select2 ajax呼び出しで以下のエラーが表示されますテキストフィールドをクリックすると、何も返されず、以下はfirebugコンソールのJavaスクリプトエラーです。

TypeError: data.call is not a function
(?)() select2.js (line 431)
data = data ? data.call(self, query.term, query.page, query.context) : null;

以下は THE VIEW からの呼び出しです: (yii2 フレームワーク)

<?= $form->field($model,'country_id')->widget(yii\select2\Select2::className(), [
      'model'=>$model,
      'attribute'=>’country_id',
      // 'language' => 'ru',
      // 'multiple' => true,
      'clientOptions' => [
        // 'allowClear' => true,
        'width' => 300,
        'ajax' => [
          'url' => Yii::$app->urlManager->createAbsoluteUrl('data/country/findcountry') ,
          'dataType' => 'json',
          'data' => 'js:function(term,page) {
                       return {q: term, page: page, page_limit: 10};
                     }',
          'results' => 'js:function(data,page) { return {results: data}; }',
        ],
      ],
]) ?>

誰か助けてください。前もって感謝します

4

1 に答える 1

0

解決済み: Javascript が String としてレンダリングされたため、エラーが発生しました。new yii\web\JsExpression(.....) に javascript 関数を入れることで解決しました。

于 2013-12-03T10:16:14.660 に答える