【发布时间】:2014-03-06 00:38:00
【问题描述】:
想要达到什么目标?
在更改选择列表的选择时,此 selectedIndex 由控制器拾取,将 SQL 查询发送到模型,并通过选择列表下方的 ajax 返回结果。这在普通的php环境下很容易做到,但是在Laravel环境下我就很疑惑了。
如果不清楚:我想要的是:http://www.w3schools.com/php/php_ajax_database.asp 在 Laravel 环境中完成
更新:我已经使用 Itachi 的指示改进了代码:
如果我可以使用简单的 Ajax,但被建议使用 JQUERY/JSON,不知道为什么这不起作用。
<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>
然后 PHP 获取东西等,会很容易。
所以,JQUERY/JSON 或多或少会这样,虽然我不知道如何完成它
$('#ajax').submit(function(e){
$.ajax({
url: '<?php echo route("hint");?>',
type: 'POST',
data: { especialidades: $('especialidades').val() },
dataType: 'json',
success: THIS WOULD BE A FUNCTION THAT WOULD PRINT THE RESULTS FROM THE CONTROLLER
}
});
e.preventDefault();
});
我自己的表格是这样的:
<form role="form" class="bg-success" id="ajax">
<div class="form-group">
<select name ="especialidades" id = "especialidades" class="form-control" onchange="showHint(this.value)">
<?php foreach($data['kategori'] as $detalle): ?>
<option value="<?php echo $detalle->id_specialty; ?>"><?php echo $detalle->spec_description; ?></option>
<?php endforeach;?>
</select>
</div>
</form>
<div id="txtHint"><b>Person info will be listed here.</b></div>
控制器应该是这样的:
class Hint extends BaseController{
public $restful = true;
public function post_appajax()
{
NEED TO GET THE SELECTED INDEX SENT BY THE JQUERY SCRIPT IN THE VIEW: HOW??
SOMETHING EQUAL TO THIS ===> ::json(Input::get('especialidades'));
}
}
路线文件是这样的:(由 Itachi 提供)
Route::post('hint', array(
'as' => 'hint',
'uses' => 'Hint@getHint'
));
【问题讨论】:
-
你能改写你的问题吗?我不明白问题出在哪里。
-
我得到了你想要的。我问你有什么问题? 你不能做什么?
-
1) 使用 Jquery。 2) 有 LOTS 的不同方法可以做到这一点。取决于您如何映射路线。 (简单来说就是显示路由文件)
-
你想让这个控制器安静吗?你在这里混淆了很多代码。
-
我真的不介意restful与否,我认为这意味着你可以看到你的方法使用了什么http动词,但无论如何。是的,这有点乱,我正在学习如何在控制器中的 laravel 中编写一个 URL,但是......
标签: php ajax laravel laravel-3