我的客户希望我实现一个页面。在这个页面上,我使用AJAX进行了API调用(如代码所示)。
jQuery.ajax({
url: endpoint,
type: "POST",
cache:false,
data: {
url:"link-rest/sweepstakes/claim",
userId:193298,
prizeRank:2,
sweepStakeId:186
},
dataType: "json",
headers: {
Authorization:token
},
success: function(json){
callback(json);
},
error: function(xhr, status, error){
callback(errorHandle(2));
}
});
但现在他想将这个页面用于搜索引擎优化。为此我必须在php中进行API调用。我之前从未使用过cURL。 stackoverflow上的示例似乎对我不起作用。我安装了Wamp Server并且已激活php_curl扩展。 wamp的所有服务也已重新启动。这是我试图实现的。
$json_url = 'link-rest/sweepstakes/claim&userId=193298&prizeRank=2&sweepStakeId=186&Authorization=ams0TGpFek5EazBNekExTmprd01EYz1NVGt6TQ';
$ch = curl_init($json_url);
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Content-type: application/json'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
var_dump(json_decode($result));
但是我的屏幕上打印的所有内容都是“空”。谁能告诉我我在这里做错了什么?
答案 0 :(得分:0)
代码的基本问题是您使用的是相对URI而不是绝对URI。
您似乎也在尝试提供以JSON编码的请求,但Ajax似乎使用标准表单编码,并且只在响应中使用JSON
更基本的问题是您首先使用cURL。 link-rest/sweepstakes/claim
可能是通过PHP处理的,因此您应该重新调整要调用的库,然后从您正在编写的函数中调用该库。 (将处理Ajax请求的页面转换为围绕它的简单视图)。