【问题标题】:POST with Jquery to a php function in wordpress retrieves only empty values使用 Jquery POST 到 wordpress 中的 php 函数仅检索空值
【发布时间】:2011-01-02 18:56:34
【问题描述】:

在“wordpress”页面我有这个代码:

function displayData(id) {
var $j = jQuery.noConflict();
$j.ajax({
          type:'POST',
          data:{rid:id},
          url: "http://www.mywebsite.com/?page_id=123",
          success: function(value) {
            alert('<?php echo($_POST['rid'])  ?>');
          }
        });
}

但 alert 中显示的值为空。如何获得“摆脱”价值?

谢谢, 胡里奥

【问题讨论】:

  • 我假设您正在尝试通过 ajax 调用更改 post 变量,但是 POST['rid'] 在页面加载时被调用,在 ajax 调用之前被调用,并且获胜在页面重新加载之前不会更改。尝试在 ajax 响应中返回您想要的值。
  • 我正在尝试对同一页面中包含的“php”函数进行异步调用,用方法名称替换“echo”并传递参数“rid”。但目前我不知道该怎么做

标签: php javascript jquery wordpress


【解决方案1】:

您正试图在 Javascript 中通过 PHP 检索 POST 值。这是错误的。为了正确执行,PHP/服务器端脚本以原始格式、HTML 或 json 形式返回值。这个结果作为数据返回给 jQuery 的 AJAX 方法。注意下面代码中的变量value

  function displayData(id) {
    var $j = jQuery.noConflict();
    $j.ajax({
              type:'POST',
              data:{rid:id},
              url: "http://www.mywebsite.com/?page_id=123",
              success: function(value) {
                //do something with 'value'
                alert(value);
                console.log('The result is ' + value);

              }
            });
    }

【讨论】:

  • 是的你没错,但是那样显示的“值”是当前页面的“html代码”。
  • 您需要认识到发送到页面的请求是由 javascript [发送类似 ajax=true 的内容] 发出的,如果是这种情况,则仅发送您的响应 [Raw, HTML 或 json]。这就是 AJAX 的工作原理,响应是您请求的页面的结果。
  • 这可能会对您有所帮助:thewebsqueeze.com/web-design-tutorials/…
【解决方案2】:

行:

alert('<?php echo($_POST['rid'])  ?>');

将在进行 ajax 调用之前呈现 - 'rid' 值在哪里,在 javascript 所在的页面中,或者您从 ajax 调用中获得的响应? (即 mywebsite.com/?page_id=123)。

如果它也来自您发布数据的页面,则来自服务器的响应需要返回包含数据的字符串或 json 对象(或类似对象),以便您可以在成功值中解析它。

【讨论】:

  • 是的,我想在页面中执行异步调用,将“echo”替换为同一页面中的 php 方法代码,并传递参数“rid”
  • @Randomize - 页面加载后,您无法从 JavaScript 调用 PHP 函数。您必须向服务器发出 HTTP 请求才能调用服务器端功能。目前,我建议将您的 PHP 函数放在不同的 PHP 文件中,因为这可能更容易思考。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-04
  • 1970-01-01
  • 1970-01-01
  • 2010-11-14
  • 2018-04-10
相关资源
最近更新 更多