我在index.php视图文件中有这个功能。(见下文) 正如您在单击按钮后看到的那样,它使用get方法获取数据
如果我的网址为http://example.com/admin/site-developer/ 索引
在控制台中单击按钮后出现错误
GET http://example.com/admin/site-developer/site-developer/get-note?developer_id=7 404 (Not Found)
但是如果url没有索引,那么它可以正常工作 http://example.com/admin/site-developer
如果将$。(get)url更改为
$.get("get-note",{developer_id: Id},function(data) {}
点击http://example.com/admin/site-developer后 给我
GET http://example.com/admin/get-note?developer_id=7 404 (Not Found)
错误但是如果我将url添加到url的结尾它会正常工作
这是完整的功能代码:
$('#noteBtn').on('click',function(e) {
$.get("site-developer/get-note",{developer_id: Id},function(data) {
var data = JSON.parse(data);
var elm = "";
$.each( data, function( i, val ) {
elm = elm+'<div id="id-'+i+'"><div>'+val.note+'</div><div>'+val.created_at+'</div></div>';
});
$("#developer_note").html(elm);
})
;})
我想也许它的网址管理器问题?
这是我的网址管理员配置
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
'/'=>'site/index',
'login' => 'site/login',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
],
],
行动getnote
public function actionGetNote($developer_id)
{
$model = DevelopersNote::findAll(['developer_id' => $developer_id]);
echo Json::encode($model);
}
答案 0 :(得分:1)
似乎你的网址没有正确构建
假设你的javascript代码在php文件中
尝试使用UrlHelper
<?php
use yii\helpers\Url;
?>
$('#noteBtn').on('click',function(e) {
<?php echo 'var myUrl = "' . Url::to(['site-developer/get-note']) . '";
' ; ?>
$.get(myUrl ,{developer_id: Id},function(data) {
var data = JSON.parse(data);
var elm = "";
$.each( data, function( i, val ) {
elm = elm+'<div id="id-'+i+'"><div>'+val.note+'</div><div>'+val.created_at+'</div></div>';
});
$("#developer_note").html(elm);
})
;})
检查上面代码的问题,请尝试使用这种方式
$('#noteBtn').on('click',function(e) {
var myUrl "http://example.com/admin/site-developer/get-note";
$.get(myUrl ,{developer_id: Id},function(data) {
var data = JSON.parse(data);
var elm = "";
$.each( data, function( i, val ) {
elm = elm+'<div id="id-'+i+'"><div>'+val.note+'</div><div>'+val.created_at+'</div></div>';
});
$("#developer_note").html(elm);
})
;})