使用jquery / ajax单击链接后无法获得响应

时间:2014-05-02 04:41:46

标签: php jquery ajax

我的php页面中有一个链接。我想向服务器发送id请求。但它没有正确回应。实际上,我有两页。

一个。的 users.php

湾的 user_update.php

所以我正在尝试使用用户ID users.php 页面使用jquery / ajax向服务器发送请求到 user_update.php 用于更新详细信息并将成功结果返回 user.php页面

代码如下所示:

<div id="edit_user_details"><a href="#">Edit Details</a></div>   
<script>
$('#edit_user_details').click(function() {
    id = <?php echo $uid; ?>
    $.ajax({        
        url: edit_user_details.php,
        type: post,             
        data: id;
        success: function(response) {
            $('#edit_user_result').html(response);          
        }            
    });
});
</script>

但它不能正常工作。因为我是Jquery / Ajax的新学习,所以我有什么遗漏。 :)

更新:

我在php id中请求此while loop。它看起来像这样......

while($search_result =  mysql_fetch_array($getUser)){
 $uid = (int) $search_result['user_id'];    
 <div id="edit_user_details"><a href="#">Edit Details</a></div>   
 }

<script>
$('#edit_user_details').click(function() {
    id = <?php echo $uid; ?>;
    $.ajax({        
            url: 'edit_user_details.php',
            type: 'post',             
            data: {'id' : id},
            success: function(response) {
            $('#edit_user_result').html(response);          
            }            
    });
});
</script> 

是不是错了?我正在尝试的是...我想根据他们的ID更新用户详细信息。那么需要做些什么呢?

6 个答案:

答案 0 :(得分:2)

你需要在循环中创建一个唯一的id或创建一个函数并将其调整为onclick,如

<?php while($search_result =  mysql_fetch_array($getUser)){
 $uid = (int) $search_result['user_id']; ?>   
 <div id="edit_user_details"><a href="#" onClick="myfunc('<?php echo $uid;?>')">Edit Details</a></div>   
<?php }?>

<script>
function myfunc(id) {
    id = id;
    $.ajax({        
            url: 'db_search.php',
            type: 'post',             
            data: {'id' : id},
            success: function(response) {
            $('#edit_user_result').html(response);          
            }            
    });
}
</script>

答案 1 :(得分:0)

  • 你应该用分号结束你的id初始化;

    id = <?php echo $uid; ?>;

  • 在此示例中检查使用ajax的正确方法:Demo ajax using JQuery

答案 2 :(得分:0)

如下所示进行更改,然后重试..

1:添加&#39;发布&#39;在类型。

2:添加&#39;&#39; edit_user_details.php&#39;在网址

3:在这里添加分号

<?php echo $uid; ?>;

4:按下面的代码

显示您的ID

更新的代码: -

<script>
$('#edit_user_details').click(function() {
    id = <?php echo $uid; ?>;
    $.ajax({        
            url: 'edit_user_details.php',
            type: 'post',             
            data: {'id' : id},
            success: function(response) {
            $('#edit_user_result').html(response);          
            }            
    });
});
</script>

有关更多信息: -

https://api.jquery.com/jQuery.ajax/#entry-examples

答案 3 :(得分:0)

我认为你没有在

之前声明var id

尝试

<div id="edit_user_details"><a href="#">Edit Details</a></div>   
<script>
$('#edit_user_details').click(function() {
  var id = <?php echo $uid; ?>;
    $.ajax({        
        url: edit_user_details.php,
        type: post,             
        data: [id:id],
        success: function(response) {
            $('#edit_user_result').html(response);          
        }            
    });
});
</script>

答案 4 :(得分:0)

检查$ .ajax中的网址。如果要将数据发送到user_update.php,那么您的代码应如下所示:

<script>
$('#edit_user_details').click(function() {
id = <?php echo $uid; ?>
$.ajax({        
    url: user_update.php,
    type: post,             
    data: id,
    success: function(response) {
        $('#edit_user_result').html(response);          
    }            
    });
 });
</script>

只需将您的网址更改为user_update.php,并在数据:id后面加一个逗号(,)代替分号(;)。

答案 5 :(得分:0)

假设在加载页面时将处理PHP var $ uid,此代码将适用于您需要的内容以及更少的行:

<div id="edit_user_details"><a href="#">Edit Details</a></div>   
<script>
$('#edit_user_details').click(function() {
    $.get('edit_user_details.php', 'id=<?php echo $uid; ?>', function(response){
          $('#edit_user_result').html(response);
      });
});
</script>