JQuery $ .getJSON 함수에서 webservice를 호출하면 정상적으로 작동합니다.매개 변수와 콜백을 사용하여 PHP에서 JSON 웹 서비스를 호출하려면 어떻게해야합니까?
var p = {
'field1': 'value1',
'field2': 'value2',
'field3': 'value3'
};
$.getJSON('https://service:[email protected]/service/search?callback=?', p, function(data) {
if (data[0]) {
// print results
} else {
// no results found
}
});
PHP와 CURL에서 연결을 시도하고 있지만 작동하지 않지만 항상 false를 반환합니다.
// FIRST
$params = array( 'field1' => 'value1', 'field2' => 'value2', 'field3'=> 'value3');
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, 'https://service:[email protected]/service/search?callback=?');
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$result = curl_exec($ch); // return false instead of my JSON
가 // SECOND 내가 잘못 뭐하는 거지
$data_string = json_encode($params);
$ch = curl_init('https://https://service:[email protected]/service/search?callback=?');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result2 = curl_exec($ch); //return false instead of my JSON
TRY TRY?
많은 감사,
은 jsonp 또는 json입니까? 반환되는 형식은 두 경우 모두 다릅니다 – Landon
.getJSON은 get 요청입니다. PHP에서는 게시물 요청을 사용하고 있습니다. 또한 POSTFIELDS에서는 연관 배열을 사용하지만 두 번째 시도에서는 문자열 만 제공합니다. – Codeguy007