Php Laravel:如何通过Ajax将选定的索引发送到控制器
我们想要实现什么 在更改选择列表时,控制器将拾取此selectedIndex,并将其发送到模型。SQL查询和结果将通过选择列表下方的ajax返回。在普通的php环境中很容易做到这一点,但在Laravel环境中我感到困惑 如果不清楚:我想要的是:在Laravel环境中完成 更新:我使用Itachi的指示改进了代码: 如果我可以使用简单的Ajax,但有人建议改为使用JQUERY/JSON,我不知道这为什么不起作用Php Laravel:如何通过Ajax将选定的索引发送到控制器,php,ajax,laravel,laravel-3,Php,Ajax,Laravel,Laravel 3,我们想要实现什么 在更改选择列表时,控制器将拾取此selectedIndex,并将其发送到模型。SQL查询和结果将通过选择列表下方的ajax返回。在普通的php环境中很容易做到这一点,但在Laravel环境中我感到困惑 如果不清楚:我想要的是:在Laravel环境中完成 更新:我使用Itachi的指示改进了代码: 如果我可以使用简单的Ajax,但有人建议改为使用JQUERY/JSON,我不知道这为什么不起作用 <script> function showHin
<script>
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}
</script>
路由文件是这样的:(由Itachi提供)
其实很简单 Routes.php
Route::post('hint', array(
'as' => 'hint',
'uses' => 'HintController@getHint'
));
class HintController extends BaseController {
public function getHint()
{
return Response::json(//whatever you want);
}
}
HintController.php
Route::post('hint', array(
'as' => 'hint',
'uses' => 'HintController@getHint'
));
class HintController extends BaseController {
public function getHint()
{
return Response::json(//whatever you want);
}
}
查看
$.ajax({
url: '<?php echo route("hint");?>', //<-------- see this
type: 'POST',
data: { especialidades: $('especialidades').val() },
dataType: 'json',
success: SEND IT TO THE CONTROLER HOWEVER YOU CAN...
}
});
$.ajax({
url:“”,//根据控制器中的方法名称,路由应为()
你的控制器
class Hint extends BaseController{
public $restful = true;
public function post_appajax()
{
// ...
}
}
你能重新表述你的问题吗?我不明白问题是什么。我得到了你想要的。我在问你有什么问题?你不能做的部分到底是什么?1)使用Jquery。2)有很多不同的方法。这取决于你是如何映射路由的。(简单地说,显示路由文件)你希望这个控制器是restful还是非restful?你在这里混合了很多代码。我真的不在乎restful与否,我想这意味着你可以看到你的方法使用什么http动词,但不管怎样。是的,它有点混乱,我正在学习如何在控制器中用laravel编写URL,但是…我非常感谢你的帮助在控制器上,返回响应::json,我想要的是,它将selectedIndex发送到模型。我不明白如果我没有看到实际接收到它的代码,它怎么会返回一些东西。在视图上,当你标记“看到这个”时,这是到控制器的正确路由吗,就像那样?回送路由?和“成功"在Jquery,我不知道如何从那里开始:/1.如果我需要编写所有步骤,这将是一个很大的教程。更好的是,试着理解laravel是如何工作的,然后深入到上面的程序中。2.是的,为命名路由编写URL非常容易。3)需要解析JSON输出,然后输出。不可能一次编写所有内容回答。这就是为什么我建议,首先学习基本的东西。然后尝试复杂的问题。我想说这很有帮助,但我的声誉不允许我去标记它。正如你所说,我可能需要6个月的时间来学习JSON,然后学习Laravel,但我只是想解决这些问题。我以前不能学习那么多语言e我解决了我的问题,我在实践中学习,没有时间去做,但是,非常感谢我。好了。只有4页。最多1小时。我很久以前就看过所有这些页了,否则我就不能在这篇文章中写一行了。你认为如果我我以前读过的文章没有那么多,但是我的问题比那些基本的东西复杂得多。我已经知道了基本的东西,我已经从数据库中填充了选择列表等等,但是这些东西不同了,我仍然不知道为什么Ajax片段不适用等等。再次,我继续感谢你,因为你是唯一一个访问answe的人r、 似乎没有人知道怎么做。
$.ajax({
url: '<?php echo route("hint");?>', //<-------- see this
type: 'POST',
data: { especialidades: $('especialidades').val() },
dataType: 'json',
success: SEND IT TO THE CONTROLER HOWEVER YOU CAN...
}
});
Route::post('hint', array( 'as' => 'hint', 'uses' => 'Hint@appajax'));
class Hint extends BaseController{
public $restful = true;
public function post_appajax()
{
// ...
}
}