下面的jquery函数是来自飞旋镖的示例脚本。这是他们的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。请指教。谢谢!
答案 0 :(得分:2)
在PHP上创建一个对象,你只需要这样做:
$object = (object) array(); // Or new stdClass();
使用:
$object->name = "John";
echo $object->name;
与Javascript一起使用:
$object = json_decode( $_POST['json'] );
$json = json_encode( $object );