【问题标题】:passing return value from jsonp to php将返回值从 jsonp 传递给 php
【发布时间】:2013-10-19 08:51:18
【问题描述】:

如何将 yesno 值返回给 php 函数。如果不能,我可以使用 curl 执行相同的 jsonp 功能吗?

$.ajax({
        url:    'www.example.com/trck.php',
        type: 'GET',
        data: 'adrs='+getHost( document.domain ),
        dataType:   'jsonp',
        jsonp:  false,
        jsonpCallback: 'methodCallback',
        success: function( data ) {
            if( data.message == "yes" ) { return yes;

            } else {


            return no;
            }
        }, 
        error: function( error ) {
            console.log( error ); 
        }
    });

通过return the value **yes** or **no** to php function 行我的意思是我可以拥有一个调用上述ajax 脚本的php 函数来获取它的返回值..

编辑

经过一番研究,我知道我无法将 ajax 值返回给 php 函数。

我可以在 curl 中使用与 ajax 相同的功能吗?

【问题讨论】:

  • 返回什么PHP函数?您需要为此进行另一个 AJAX 调用......或者实际上只是使用 trck.php
  • 不清楚你想要做什么或你真正想要什么。
  • @ZathrusWriter 不是另一个 ajax 调用或不是 trck.php .. 请参阅我更新的问题
  • 您不能在 php 函数中包含 jquery/javascript 代码并从中返回值... PHP 在服务器端,而 Javascript/jquery 在客户端!!!
  • @AyyappanSekar 谢谢..我可以用 curl 做同样的 jsonp 功能吗...?我认为使用 curl 而不是 ajax jsonp 可以将值返回给 php 函数?对吗?

标签: php jquery jsonp


【解决方案1】:

你真正想做的是什么?

PHPSTATELESS。这意味着您无法从客户端获取任何数据以继续脚本。如果你回调它,脚本将重新从头开始,就像它从未启动过一样。

那么curl可以用来连接一个server,你的client就是一个client。这意味着如果他不打电话给你,路由器/防火墙将拒绝你的路由。

可能的解决方案:

  • 如果你真的想“推送”数据,那么你应该使用 PHP SOCKETS。我没试过,所以不能给你更多信息。

  • 向您的 PHP 答案发送一个唯一令牌,并使用此令牌进行第二次 AJAX 调用。如果令牌是正确的,那么你可以发送一个新数据,你知道你是客户端还是客户端。

  • 改变你的架构或你的想法。如果数据不正确,请重新索取数据!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多