Php 如何在Ajax代码中添加带有已传递参数数据的查询?
我正在用ajax中的create表单在laravel中做一个项目。我需要在表单完成后连接两个表,所以在ajax代码中,因为我需要进行一些选择。下面是ajax代码:Php 如何在Ajax代码中添加带有已传递参数数据的查询?,php,jquery,ajax,laravel,Php,Jquery,Ajax,Laravel,我正在用ajax中的create表单在laravel中做一个项目。我需要在表单完成后连接两个表,所以在ajax代码中,因为我需要进行一些选择。下面是ajax代码: $.ajax({ data: $('#hourForm').serialize(), url: "{{ route('others.store') }}", type: "POST", dataType: 'json', success: function (data) {
$.ajax({
data: $('#hourForm').serialize(),
url: "{{ route('others.store') }}",
type: "POST",
dataType: 'json',
success: function (data) {
var name = <?php DB::select('SELECT projects.nameP from projects, data where projects.id = data.project_id?>
var hour = '<tr id="hour_id_' + data.id + '"><td>' + data.day + '</td><td>'+ data.project_id+'</td><td>' + name + '</td><td>' + data.nHours + '</td><td>' + data.notesH + '</td>';
以下是表格:
<form id="hourForm" name="hourForm" class="form-horizontal">
<input type="hidden" name="hour_id" id="hour_id">
<div class="form-group">
<label for="day" class="col-sm-2 control-label">DATA</label>
<div class="col-sm-12">
<input type="date" class="form-control" id="day" name="day" value="" required="">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Progetto</label>
<div class="col-sm-12">
<select name="project_id" id="project_id">
<option value="" selected disabled hidden><b>Scegli un'opzione</b></option>
@foreach($projects as $project)
<option value="{{$project->id}}">{{$project->nameP}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<label for="nHours" class="col-sm-2 control-label">Ore</label>
<div class="col-sm-12">
<input type="text" class="form-control" id="nHours" name="nHours" value="" required="">
</div>
</div>
<div class="form-group">
<label for="notesH" class="col-sm-2 control-label">Note</label>
<div class="col-sm-12">
<input type="text" class="form-control" id="notesH" name="notesH" value="">
</div>
</div>
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary" id="btn-save" value="create">Aggiungi
</button>
</div>
</form>
我不知道如何替换只是ajax函数中变量的数据。有人能帮我吗?您将无法在javascript中执行这样的查询
为什么不在路由“others.store”中执行查询?我相信这是在调用一个控制器的函数,所以:只需运行该连接,并将名称与其余数据一起携带。您将无法在javascript中执行这样的查询
为什么不在路由“others.store”中执行查询?我相信这是在调用一个控制器的函数,所以:只需运行该连接,并将名称与其余数据一起携带。您不能在javascript中运行PHP代码。PHP只在服务器上运行,javascript在浏览器中运行。你必须把在AJAX中调用的PHP代码想象成一个删除函数库。该查询应该位于页面路径“others.store”中,PHP应该执行该查询并将结果打包为JSON并返回。然后,Success函数将在其param data中接收该数据。您不能在javascript中运行PHP代码。PHP只在服务器上运行,javascript在浏览器中运行。你必须把在AJAX中调用的PHP代码想象成一个删除函数库。该查询应该位于页面路径“others.store”中,PHP应该执行该查询并将结果打包为JSON并返回。Success函数将在其param dataI中接收该数据。我试图这样做,但遇到了一个内部服务器错误,即公共函数storeRequest$request{$hourID=$request->hour\u id;$name=DB::select'select projects.nameP from projects,hours WHERE projects.id=hours.project\u id AND projects.id=?',$request->project\u id;$hour=hour::updateOrCreate['id'=>$hourID',nameP'=>$name[0]>nameP],['project\u id'=>$request->project\u id,'day'=>$request->day,'nHours'=>$request->nHours,'notesH'=>$request->notesH];返回响应::json$hour;}另外,这个连接是在项目的数据库上执行的吗?您可以使用Eloquent来代替,这样说会更简单。消息:传递给Illumb\\database\\Connection::prepareBindings的参数1必须是数组类型,字符串给定,在l上的/var/www/PROGETTO2/vendor/laravel/framework/src/illumb/database/Connection.php中调用我不知道如何修改,我没有任何想法。我认为select中的某个值是一个数组,它试图将其作为字符串读取,这是行不通的。我尝试过这样做,但我面临一个内部服务器错误,公共函数storeRequest$request{$hourID=$request->hour\u id;$name=DB::select'select projects.nameP from projects,hours WHERE projects.id=hours.project\u id AND projects.id=?',$request->project\u id;$hour=hour::updateOrCreate['id'=>$hourID',nameP'=>$name[0]>nameP],['project\u id'=>$request->project\u id,'day'=>$request->day,'nHours'=>$request->nHours,'notesH'=>$request->notesH];返回响应::json$hour;}另外,这个连接是在项目的数据库上执行的吗?您可以使用Eloquent来代替,这样说会更简单。消息:传递给Illumb\\database\\Connection::prepareBindings的参数1必须是数组类型,字符串给定,在l上的/var/www/PROGETTO2/vendor/laravel/framework/src/illumb/database/Connection.php中调用我不知道如何修改,我没有任何想法,我认为select中的某个值是一个数组,它试图将其作为字符串读取,这是行不通的。