Php 将数据从锚链接传递到AJAX
我正在考虑一种方法,通过在属性链接上启用ajax来减少javascript/ajax代码的数量(idea发现) 目标是能够通过重用相同的javascript而无需编辑它来发出ajax请求 一切都很好,但我就是不知道如何通过锚链接传递多个数据 我正在试着用这个Php 将数据从锚链接传递到AJAX,php,ajax,laravel,Php,Ajax,Laravel,我正在考虑一种方法,通过在属性链接上启用ajax来减少javascript/ajax代码的数量(idea发现) 目标是能够通过重用相同的javascript而无需编辑它来发出ajax请求 一切都很好,但我就是不知道如何通过锚链接传递多个数据 我正在试着用这个 <a href="{{ route('tasks.create') }}" data-endpoint="{{ route('tasks.create') }}" data-target="addtask .mod
<a href="{{ route('tasks.create') }}"
data-endpoint="{{ route('tasks.create') }}"
data-target="addtask .modal-content .panel-body"
data-cache="false"
data-async="true"
data-parameters="[{{ $data1 }} , {{ $data2}}]"
>Add a task
</a>
在名为tasks.create
的php脚本中,我想使用$data1
和$data2
。但我不知道如何做到这一点。有什么想法吗
或者整个想法都是愚蠢的,有一种更聪明的方法可以做到这一点?从javascript的角度来看,我会使用不透明的字符串。首先,我会找到一个合理的分隔符,它不会出现在数据变量中,我假设“|”是有效的 html php
我会这样做:
<a href="{{ route('tasks.create') }}"
data-endpoint="{{ route('tasks.create') }}"
data-target="addtask .modal-content .panel-body"
data-cache="false"
data-async="true"
data1-parameters='{!! json_encode($data1) !!}'
data2-parameters='{!! json_encode($data2) !!}'
>Add a task
</a>
data-parameters="{{ $data1 }}|{{ $data2 }}"
$params = explode("|", $data);
<a href="{{ route('tasks.create') }}"
data-endpoint="{{ route('tasks.create') }}"
data-target="addtask .modal-content .panel-body"
data-cache="false"
data-async="true"
data1-parameters='{!! json_encode($data1) !!}'
data2-parameters='{!! json_encode($data2) !!}'
>Add a task
</a>
$('body').on('click', 'a[data-async="true"]', function(e)
{
e.preventDefault();
var self = $(this),
url = self.data('endpoint'),
target = self.data('target'),
cache = self.data('cache');
$.ajax({
url: url,
cache : cache,
data : {
data1: self.attr('data1-parameters'),
data2: self.attr('data2-parameters')
},
success: function(data)
{
if (target !== 'undefined'){ $('#'+target).html( data ); }
}
});
});