将div的jquery值分配给php变量

时间:2016-08-11 13:05:32

标签: php jquery ajax

我正在使用jquery日历脚本,该脚本使用ajax分配div的内容。

$('#details-event-id').html(id);

div标签:

<div id="details-event-id"></div>

在另一个文件中并正确显示ID。

<div id="details-event-id">91</div>

是否可以将id,91分配给PHP变量?

2 个答案:

答案 0 :(得分:2)

使用ajax,您可以将值发送到服务器,然后分配给php变量。

如果您认为在客户端的任何javascript事件中分配php变量,那么在没有任何异步调用服务器脚本的情况下它是不可能的。

答案 1 :(得分:1)

如果我理解正确,您希望将变量id发送到PHP文件。您可以使用AJAX实现此目的。贝娄我正在展示两种方法来完成它。

var id = $('#details-event-id').html(id);

AJAX与优秀的JS

ajax(myfile.php, {id:id}, function() {
  // the following will be executed when the request has been completed
  alert('Variable id has been sent successfully!');
});

function ajax(file, params, callback) {

  var url = file + '?';

  // loop through object and assemble the url
  var notFirst = false;
  for (var key in params) {
    if (params.hasOwnProperty(key)) {
      url += (notFirst ? '&' : '') + key + "=" + params[key];
    }
    notFirst = true;
  }

  // create a AJAX call with url as parameter
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      callback(xmlhttp.responseText);
    }
  };
  xmlhttp.open('GET', url, true);
  xmlhttp.send();
}

使用JQuery的AJAX

$.ajax({
  url: 'ajax.php', //This is the current doc
  type: "GET",
  data: ({
    id: id
  }),
  success: function(data) {
    // the following will be executed when the request has been completed
    alert('Variable id has been sent successfully!');
  }
});

Offtopic:你可以看到为什么有些人更喜欢JQuery ......

当启动任一函数(Jquery或普通JS)时,它会将变量id发送到文件myfile.php。要从通话中检索变量,您不会使用$_GET[...],而是使用$_REQUEST[...]

<强> myfile.php

<?php

if(!isset($_REQUEST['id'])) {
  echo "no variable was sent";
}

$id = $_REQUEST['id'];
// process data, save in db, etc ....

您可以使用echo() 而非 return

将值返回给JS回调函数