微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对PHP页面进行Ajax调用

我有这个星级,我是从jQuery实现的,我需要保存评论,用户ID和点击的星级.我不知道如何通过ajax调用传递该信息,PHP至少应具有什么才能处理该调用?这是我的代码

stars code-如您所见,它具有一个注释框,带有star值和用户ID的star存储在一个名为

$user_id

这是代码

<tr>
         <td style="padding:10px;">
         <span style="font-size: 20px; vertical-align:top;">Comments</span>
         </td>
         <td style="padding:10px;">
         <textarea name="comments1" cols="60" rows="2"></textarea>
         </td>
         <td>
         <div>
          <input name="star1" value "1" type="radio" class="star"/>
          <input name="star1" value="2" type="radio" class="star"/>
          <input name="star1" value="3" type="radio" class="star"/>
          <input name="star1" value="4" type="radio" class="star"/>
          <input name="star1" value="5" type="radio" class="star"/> 
          </div>
         </td>
    <tr>

ajax调用-这是尝试发送给我发送请求的页面调用,但是如何在此调用中包含注释和用户ID?

  $('.star').rating({
        callback: function(value, link) {
           var name = $(this).attr('name');
           $.ajax({
                url: "ajax.PHP",
                data: "name=" + name + "&value=" + value,
                cache: false,
                success: function(response) {
                    try {
                        console.log(response);
                    } catch (err) {
                        alert(response);
                    }
                }
            });
        }
    });

现在,ajax.PHP具有变量$passed_user_id,$passed_comments和$passed_ratingval.在PHP中触发调用后,如何检索这些值?就像是

$passed_comments = //get the value being passed from ajax call
$passed_ratingval = //get the value being passed for the rating value
$passed_user_id = //get the value being passed for the user_id`

我已经设置完毕,插入查询,连接一切正常.我只是不确定如何通过ajax调用来使其工作.

解决方法:

Kinda hacky,但这对您有用.它还将允许在一页上进行多个评分(我认为您可能正在考虑使用TR).

HTML:

<tr>
  <td style="padding:10px;">
    <input type="hidden" name="userID" value="<?PHP echo $user_id ?>">
    <span style="font-size: 20px; vertical-align:top;">Comments</span>
  </td>
  <td style="padding:10px;">
    <textarea name="comments" cols="60" rows="2"></textarea>
  </td>
  <td>
    <div>
      <input name="star1" value "1" type="radio" class="star"/>
      <input name="star1" value="2" type="radio" class="star"/>
      <input name="star1" value="3" type="radio" class="star"/>
      <input name="star1" value="4" type="radio" class="star"/>
      <input name="star1" value="5" type="radio" class="star"/> 
    </div>
  </td>
<tr>

JS:

$('.star').rating({
  callback: function(value, link) {
    var name = $(this).attr('name');
    var userID = $(this).closest('tr').find('input[name="userID"]').val();
    var comments = $(this).closest('tr').find('textarea[name="comments"]').val();
    $.ajax({
      url: "ajax.PHP",
      data: "name=" + name + "&value=" + value + "&userID=" + userID + "&comments=" + comments,
      cache: false,
      success: function(response) {
        try {
          console.log(response);
        } catch (err) {
          alert(response);
        }
      }
    });
  }
});

另外,如果您使用POST而不是GET,则可以像下面更好地格式化ajax调用.请记住在ajax.PHP文件中使用$_POST [].

$('.star').rating({
  callback: function(value, link) {
    var name = $(this).attr('name');
    var userID = $(this).closest('tr').find('input[name="userID"]').val();
    var comments = $(this).closest('tr').find('textarea[name="comments"]').val();
    $.ajax({
      url: "ajax.PHP",
      type: "POST",
      data: {
        name: name,
        value: value,
        userID: userID,
        comments: comments
      },
      cache: false,
      success: function(response) {
        try {
          console.log(response);
        } catch (err) {
          alert(response);
        }
      }
    });
  }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐