javascript - 使用 Laravel 框架时如何在 javascript 中发布到另一个 php 文件?
问题描述
我创建了一个多边形制作器,用于创建某个区域的多边形。我想将多边形的 lat、lng 和区域名称发布到另一个 php 文件,然后从该文件将数据插入 mysql。以前我使用原生 php 来创建类似的,并且可以正常工作。但是当我尝试在 Laravel 中执行此操作时,它不起作用。我才学习 Laravel 几天,所以我对 Laravel 不是很熟悉。
这是Javascript中的代码:
var polycoords = '';
turf.flip(layer.toGeoJSON()).geometry.coordinates[0].forEach(function(item)
{
polycoords += item[0] + ',' + item[1] + "|";
});
function titikk(polycoords,kecamatan) {
$.ajaxSetup({async:false});
var returnData = null;
$.post("code.php", { polycoords: polycoords, kecamatan: kecamatan },
function(data) {
returnData = data;
});
$.ajaxSetup({async:true});
return returnData;
}
titiks = titikk(polycoords,kecamatan);
代码.php
require_once("conn.php");
$x ="";
$y ="";
$polycoords = $_POST["polycoords"];
$kecamatan = $_POST["kecamatan"];
$pieces = explode("|", $polycoords);
for($i=0;$i<sizeof($pieces);$i++)
{
$data = array();
$data = explode(",", $pieces[$i]);
$x .= $data[0].",";
$y .= $data[1].",";
}
$x = substr($x,0,-2);
$y = substr($y,0,-2);
$input_kecamatan = mysqli_query($conn, "insert into `kecamatan` (`nama`,`lat`,`lng`)
values ('$kecamatan','$x','$y')");
我将 code.php 放在公共文件夹中。
在 Laravel 中这样做是否正确?还是我需要在路线中使用帖子?任何人都可以建议如何使这项工作或其他方式仍然可以得到我想要的吗?感谢您的帮助
解决方案
使用 Laravel,你需要为你的 post 请求创建一个路由,最好是一个控制器来包含来自 code.php 的代码。
Route::post('url-name/', 'CodeController@code')->name('route-name')
// or without controller
Route::post('url-name', function($request) {
// Code Here
return response()->json($response);
})
您可以在文档https://laravel.com/docs/5.7/routing#basic-routing中找到更多信息
对于将数据插入数据库,您应该使用 Eloquent 或 Query Builder。Eloquent 需要先创建一个模型。
// Eloquent
Kecamatan::create([
'lat' => $lat,
'long' => $long,
'nama' => $nama
])
// Query Builder
DB::table('kecamatan')->insert([
'lat' => $lat,
'long' => $long,
'nama' => $nama
])
您可以在以下位置找到所有这些
推荐阅读
- sql - 在数据框中查找没有先决条件记录的记录
- rest - REST API 入口点和端点
- python - 使用 raw(...) 格式化/转义注入
- git - Github - 如何在更新代码时让你的分叉仓库与原始仓库保持同步
- blazor - 是否有充分的理由在 SetParameters 方法中而不是直接初始化属性?
- css - CSS在窗口调整大小时调整div和div内的图像
- aws-java-sdk - 如何使用 aws-java-sdk 2.0 对 dynamodb 中的数字字段进行原子增量?
- python - 如何从 DataFrame 中删除行
- git - git 行尾似乎导致大量文件更改
- html - 纯 CSS 固定表头