Javascript 尝试在Laravel 5.4框架中使用制表器向数据表传递值
所以我使用一个控制器将一个值传递给这样一个视图Javascript 尝试在Laravel 5.4框架中使用制表器向数据表传递值,javascript,php,laravel,Javascript,Php,Laravel,所以我使用一个控制器将一个值传递给这样一个视图 use App\Products; use Illuminate\Http\Request; class MyController extends Controller public function index() { $main = Products::all(); return view('application.minierp', compact('main')); } 当我尝试接收这样的值时 <div i
use App\Products;
use Illuminate\Http\Request;
class MyController extends Controller
public function index()
{
$main = Products::all();
return view('application.minierp', compact('main'));
}
当我尝试接收这样的值时
<div id="minierp-table">
<script type="text/javascript">
var tabledata = {{ $main }}
//load sample data into the table
$("#minierp-table").tabulator("setData", tabledata);
</script>
</div>
var tabledata = <?php include '/home/vagrant/code/minierp/resources/assets/ajax/data.php' ?>
data()的函数就是这样
namespace App\Http\Controllers;
$dataPull = new AlscoDBsController;
echo $dataPull->data();
public function data()
{
$main = Products::all();
return $main;
}
但是我需要它使用控制器来工作,这样我就可以将数据正确地传递给它,并使用Laravel来使用它。
如果您有任何建议,请告诉我。更改此行
var tabledata = {{ $main }}
到
解释-当你回音时,它只调用
\uuu toString
方法要使用它,您需要创建一个javascript对象或javascript理解的值
试一试
将视图的值添加到数组中
return view('application.minierp', ['main'=>json_encode($main)]);
然后,在视图文件中,在Javascript中使用:
var tabledata = {!! $main !!};
- 请参阅本教程,了解如何将数据传递到视图:
var tabledata = {!! $main !!};
在HTML中的“”标记更改为“”标记之前,通过添加!!修复了此问题。第二个方法是使用两个括号{{}向数据集添加一个不需要的括号并将其打断。通过删除一组括号,它将正确呈现。使用此代码返回json格式的数据
return response()->json($main)
当我加载它并查看HTML时,我实际上尝试了这个方法。表不存在,但它说它试图在第一个表中加载它。数据是它试图给它的,在这种情况下,第二个是应该给它的var tabledata=[{“id”:1,“item”:“000-005”,“um”:“EA”,“package”“:1,等等.//var tabledata=[{“id”:1,“item”:“000-055”,“um”:“EA”,“package”:1,“vendor”:467,“class”:“priceclass”:“FAB”,“vendor item”:“000-005”,“added”:“1993检查视图源代码中的js是否损坏,这将无法工作,因为{}转义Json。您需要使用{!!!!}”这样Json就不会被转义。同样,也不需要进行Json编码,因为当输出为stringsI时,laravel Json会对所有模型和集合进行编码。我尝试了相同的结果。真正的问题是,当laravel将变量传递给所有的“(引号)时,它们都会变成一个“tag如果您不想对html实体进行编码,例如:<>”
,请在视图中使用以下语法:{!!$main!!}
为什么否决投票?这是唯一对OP有效的解决方案!哇
var tabledata = {!! $main !!};
var tabledata = {!! $main !!};