使用php数组提交
我的目标是当用户点击编辑按钮时,将此使用php数组提交,php,jquery,ajax,Php,Jquery,Ajax,我的目标是当用户点击编辑按钮时,将此all=发送到页面edit.php <script type="text/javascript"> $(document).ready(function () { $(".edit").click(function () { $.ajax({ url: "edit.php", type: "post", dataType: "html",
all=
发送到页面edit.php
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
这段代码什么也不做(firebug中没有ajax调用)
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
$(文档).ready(函数(){
$(“.edit”).submit(函数(){
$.ajax({
url:“edit.php”,
类型:“post”,
数据类型:“html”,
数据:“,
成功:功能(数据){
$('#ad').html(数据);
}
});
});
});
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
$(文档).ready(函数(){
$(“.edit”)。单击(函数(){
$.ajax({
url:“edit.php”,
类型:“post”,
数据类型:“html”,
数据:“所有”,
成功:功能(数据){
$('#ad').html(数据);
}
});
});
});
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
$(文档).ready(函数(){
$(“.edit”)。单击(函数(){
$.ajax({
url:“edit.php”,
类型:“post”,
数据类型:“html”,
数据:“所有”,
成功:功能(数据){
$('#ad').html(数据);
}
});
});
});
使用json编码将php数组编码为json字符串
使用json编码将php数组编码为json字符串
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
您正在回送一个数组,这将使PHP回送类似于Array()的内容,而不是真正的值。
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
Try var_dump($arr);要转储数组并最终尝试序列化数组,以后更容易检索其状态。
如果ajax调用确实可以处理静态数据,那么这就是您应该开始查找的地方。您正在回送一个数组,这将使PHP回送类似于Array()的内容,而不是真正的值。
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
Try var_dump($arr);要转储数组并最终尝试序列化数组,以后更容易检索其状态。
如果ajax调用确实可以处理静态数据,那么这就是您应该开始查看的地方。如@MilanJaric所示,您确实需要操作submit按钮的
单击。但是,除此之外,还应防止单击的默认操作结束编辑
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
您需要回显json_编码并用引号包装的数据:
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
$(函数()
{
$('.edit')。单击(函数(e)
{
$.ajax({
url:'edit.php;,
键入:“post”,
数据类型:“html”,
数据:“”,
/*根据您的代码很难判断,但是如果您希望在名为“all”的服务器上使用var,请使用以下命令,而不是上面的命令行:
数据:{
全部:“”
},
*/
成功:功能(数据)
{
$('#ad').html(数据);
}
} );
e、 预防默认值();
} );
} );
然而,在我看来,在JS中回显PHP会变得非常难看,特别是如果你必须做很多事情的话,因此当需要时,我会使用一个将PHP数据作为JS变量注入代码中。这允许我隔离IIFE调用参数中的所有PHP回显:
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
<?php
$arr = array("one", "two", "three")
?>
<div id="content">
<input class="edit" type="submit" value="Edit" />
</div>
<script type="text/javascript">
( function( arr )
{
$( function()
{
$( '.edit' ).click( function( e )
{
$.ajax( {
url: 'edit.php;,
type: 'post',
dataType: 'html',
data: arr,
/* It's hard to tell based on your code, but if you wanted a var at the server named "all" use this instead of the above line:
data: {
all: arr
},
*/
success: function( data )
{
$( '#ad' ).html( data );
}
} );
e.preventDefault();
} );
} );
}(
'<?php echo json_encode( $arr ); ?>'
) );
</script>
(功能(arr)
{
$(函数()
{
$('.edit')。单击(函数(e)
{
$.ajax({
url:'edit.php;,
键入:“post”,
数据类型:“html”,
数据:arr,
/*根据您的代码很难判断,但是如果您希望在名为“all”的服务器上使用var,请使用以下命令,而不是上面的命令行:
数据:{
所有人:啊
},
*/
成功:功能(数据)
{
$('#ad').html(数据);
}
} );
e、 预防默认值();
} );
} );
}(
''
) );
编辑正如@MilanJaric所示,您确实需要操作提交按钮的点击
。但是,除此之外,还应防止单击的默认操作结束编辑
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
您需要回显json_编码并用引号包装的数据:
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
$(函数()
{
$('.edit')。单击(函数(e)
{
$.ajax({
url:'edit.php;,
键入:“post”,
数据类型:“html”,
数据:“”,
/*根据您的代码很难判断,但是如果您希望在名为“all”的服务器上使用var,请使用以下命令,而不是上面的命令行:
数据:{
全部:“”
},
*/
成功:功能(数据)
{
$('#ad').html(数据);
}
} );
e、 预防默认值();
} );
} );
然而,在我看来,在JS中回显PHP会变得非常难看,特别是如果你必须做很多事情的话,因此当需要时,我会使用一个将PHP数据作为JS变量注入代码中。这允许我隔离IIFE调用参数中的所有PHP回显:
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
<?php
$arr = array("one", "two", "three")
?>
<div id="content">
<input class="edit" type="submit" value="Edit" />
</div>
<script type="text/javascript">
( function( arr )
{
$( function()
{
$( '.edit' ).click( function( e )
{
$.ajax( {
url: 'edit.php;,
type: 'post',
dataType: 'html',
data: arr,
/* It's hard to tell based on your code, but if you wanted a var at the server named "all" use this instead of the above line:
data: {
all: arr
},
*/
success: function( data )
{
$( '#ad' ).html( data );
}
} );
e.preventDefault();
} );
} );
}(
'<?php echo json_encode( $arr ); ?>'
) );
</script>
(功能(arr)
{
$(函数()
{
$('.edit')。单击(函数(e)
{
$.ajax({
url:'edit.php;,
键入:“post”,
数据类型:“html”,
数据:arr,
/*根据您的代码很难判断,但是如果您希望在名为“all”的服务器上使用var,请使用以下命令,而不是上面的命令行:
数据:{
所有人:啊
},
*/
成功:功能(数据)
{
$('#ad').html(数据);
}
} );
e、 预防默认值();
} );
} );
}(
''
) );
除了其他人指出的需要json_encode()
您的$arr
之外,还指出以下几点:
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
当用户尝试提交时,提交事件被发送到元素
提交一份表格。它只能附着到图元
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
所以我认为AJAX没有被提交的原因是您的
元素不在
元素中。请尝试以下操作:
<script type="text/javascript">
$(document).ready(function () {
$(".edit").click(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo $arr; ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
<?php
$arr = array("one", "two", "three");
?>
<form id="content">
<input class="edit" type="submit" value="Edit" />
</form>
<script type="text/javascript">
$(document).ready(function () {
$(".edit").submit(function () {
$.ajax({
url: "edit.php",
type: "post",
dataType: "html",
data: "all=<?php echo json_encode($arr); ?>",
success: function (data) {
$('#ad').html(data);
}
});
});
});
</script>
$(文档).ready(函数)