gpt4 book ai didi

javascript - 使用ajax发布变量时找不到Yii类

转载 作者:行者123 更新时间:2023-12-02 15:49:59 27 4
gpt4 key购买 nike

我想从ajax获取一个变量到php。我正在使用 Yii 框架。所以我的问题是,当我想将变量从 ajax 传输到 php 脚本时,我收到此错误:

Fatal error: Class 'Yii' not found in /var/www/vhosts/adappter.de/comamos/protected/views/store/search_area.php on line 44 store.js:1308:13

这就是我的 Ajax 调用的样子

var selectedCuisine = [];
$( document ).on( "click", "#cuisines", function()
{
if ( $(this).is(':checked') )
{
selectedCuisine.push($(this).val());
}
// document.getElementById('cuisine-list').style.visibility='hidden';
$.ajax({
type: "GET",
url: "../protected/views/store/search_area.php",
data: {cuisine : selectedCuisine},

success: function(response){
console.log(response);
}
});

});

这是我的 php 脚本到第 44 行

<?php 
if (!isset($_SESSION)) { session_start(); }

$_SESSION['search_type']='';
if (isset($_GET['s'])){
$_SESSION['kr_search_address']=$_GET['s'];
$_SESSION['search_type']='kr_search_address';
}

unset($_SESSION['kr_item']);
unset($_SESSION['kr_merchant_id']);

$marker=Yii::app()->functions->getOptionAdmin('map_marker');
if (!empty($marker)){
echo CHtml::hiddenField('map_marker',$marker);
}
?>

只有当我单击复选框时才会调用 jQuery。因此,所选框的值被插入数组中。我想将数组返回到 php 脚本。当我加载网站时,我没有收到这样的错误。所以我不知道为什么会出现这个错误。

最佳答案

您需要将 Controller 与操作一起使用。不仅仅是查看文件。您尝试从网络调用查看文件。但这是错误的,因为所有代码都在 protected 目录中。所有请求必须从索引文件处理。在索引文件中连接框架。这是一个小例子。 Controller :

class SiteController extends Controller
public function actionTest()
{
//... example
echo CHtml::button('test');
}

js:

var selectedCuisine = [];
$( document ).on( "click", "#cuisines", function()
{
if ( $(this).is(':checked') )
{
selectedCuisine.push($(this).val());
}
// document.getElementById('cuisine-list').style.visibility='hidden';
$.ajax({
type: "GET",
url: "/site/test", // url for your action
data: {cuisine : selectedCuisine},

success: function(response){
console.log(response);
}
});

});

关于javascript - 使用ajax发布变量时找不到Yii类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31923260/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com