【问题标题】:transferring a javascript value to a php variable将 javascript 值传输到 php 变量
【发布时间】:2012-07-03 07:56:51
【问题描述】:

将以下输出值转换为 php 变量的最佳方法是什么?

$(document).getUrlParam("id");

【问题讨论】:

  • 使用 get 或 post 请求将该值发送到 php 脚本..

标签: php javascript jquery codeigniter


【解决方案1】:

通过 ajax 帖子。

$.ajax({
 type: 'POST',
 url: url,
 data: data,
 success: success,
 dataType: dataType
});

【讨论】:

  • 这就是我最初要做的,但我不知道我是否必须将它发布到同一页面,因为 php 在同一页面上。
  • @MichaelGrigsby - 您将不得不发布到服务器端(或获取取决于安全性),然后您将不得不重新加载页面的该部分。您如何重新加载页面或页面的一部分,将取决于您的结构。
  • 所以我不能发布到 jquery 所在的同一页面?
【解决方案2】:

您应该使用 JSON 格式从 javascript 到 PHP 发送和接收数据。例如

 function sendData(){

  //with jquery, you can use `.post()`, `.get()` or for more control `.ajax()`
  $.post(
      //URL to send the data
       url,
      //data being sent, transformed to JSON
      {dataSent: JSON.stringify(clientSideData)},
      //Do something after sendind the data to server
      function(dataReceived){
         //transform data from json format to javascript object
         var dataLog = jQuery.parseJSON(dataReceived);

         //Do stuff

      }
   )
  }

PHP:

 //Receive data from POST
 var phpVar = json_decode($_POST['dataSent'])

 //send data back to javascript
 echo json_encode(phpVar)

【讨论】:

    【解决方案3】:

    虽然所有这些答案都会将 javascript 的价值转化为 PHP 脚本,但我想知道您是否需要 javascript。

    从我从简短的 google 中可以看出,getUrlParam 插件对于获取然后分解 URL 很有用。您是否查看过$_SERVER 提供的变量?我相信你能在里面找到合适的东西。

    【讨论】:

    • 我用 CodeIgniter 编写代码,但我似乎无法让 $this->input-get() 方法工作。所以我想我会尝试不同的路线。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    相关资源
    最近更新 更多