【问题标题】:What is the equivalent of jquery object in PHP?PHP中jquery对象的等价物是什么?
【发布时间】:2014-04-14 18:48:32
【问题描述】:

下面的 jquery 函数是来自 Boomerang 的示例脚本。这是他们的 GetSendList 函数。我试图制作它的 php 版本,但仍然不成功。函数如下:

function GetSendList() {
    var r = new Object;

    r = [
        {
            email: $("#txt-SendList-email-0").val(),
            jobNumber: $("#txt-SendList-jobNumber-0").val()
        },
        {
            email: $("#txt-SendList-email-1").val(),
            jobNumber: $("#txt-SendList-jobNumber-1").val()
        }
    ]


    var dataString = JSON.stringify(r);

    $.ajax({
        type: "POST",
        url: "https://target.boomerang.com/V1.0/api/SendList",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        data: dataString,
        headers: { auth_token: $('#txtAuthenticationCode').val() },
        success: function (response) {
        }
    });
}

这是我的 PHP 脚本:

$main_url = "https://target.boomerang.com/V1.0/api/";
$token = "xxx";

$values = array('email'=>'email',
    'jobNumber'=>'jobnumber'
    );

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$main_url."SendList");
curl_setopt($ch,CURLOPT_HTTPHEADER,array('auth_token: '.$token));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($values));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);
curl_close ($ch);
$output = json_decode($server_output);

我猜我的值格式错误,这就是我失败的原因。我不知道PHP中jquery对象的等价性。

PS。我使用相同的 php 脚本来调用他们的其他函数,并且我成功地使用了这些函数。我现在只有 GetSendList 有问题。请指教。谢谢!

【问题讨论】:

  • 仅供参考:不要使用async: false。这将导致浏览器锁定。
  • 我认为您的PHP版本缺少SSL选项和cacert.pem文件,否则您无法进行HTTPS。
  • jQuery 对象?嗯?你的意思是object literal
  • r = new Object; r = ...? new Object 的意义何在?从什么时候开始有人在文字{}上写new Object
  • API 需要 JSON,但您发送的是纯格式编码的数据字符串。

标签: javascript php jquery object


【解决方案1】:

要在 PHP 上创建一个对象,你只需要这样做:

$object = (object) array(); // Or new stdClass();

使用:

$object->name = "John";
echo $object->name;

与 Javascript 一起使用:

$object = json_decode( $_POST['json'] );
$json = json_encode( $object ); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-22
    • 2011-04-30
    • 1970-01-01
    • 2011-12-10
    • 2011-03-25
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    相关资源
    最近更新 更多