вы можете поместить свой json в параметр и отправить его вместо того, чтобы помещать только ваш json в заголовок:
$post_string= 'json_param=' . json_encode($data);
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $post_string);
curl_setopt($curl, CURLOPT_URL, 'http://webservice.local/'); // Set the url path we want to call
//execute post
$result = curl_exec($curl);
//see the results
$json=json_decode($result,true);
curl_close($curl);
print_r($json);
на стороне службы вы можете получить свою строку json в качестве параметра:
$json_string = $_POST['json_param'];
$obj = json_decode($json_string);
, тогда вы можете использовать преобразованные данные как объект.
Для тестов обычно вам нужно запустить chrome в режиме безголоска с включенной удаленной отладкой. Добавление этих строк в ваш testem.json должно помочь:
"browser_args": {
"Chrome": [
'--headless',
'--disable-gpu',
'--remote-debugging-port=9222',
'--window-size=1440,900',
]
}
Я также предлагаю удалить строку «PhantomJS» - фантом может не работать с последними версиями ember из-за этой проблемы .
Изменен testem.js с настройками ниже. и его рабочий штраф:)
/* eslint-env node */
module.exports = {
test_page: 'tests/index.html?hidepassed',
disable_watching: true,
launch_in_ci: [
'Chrome'
],
launch_in_dev: [
'Chrome'
],
browser_args: {
Chrome: {
mode: 'ci',
args: [
'--disable-gpu',
'--headless',
'--remote-debugging-port=0',
'--window-size=1440,900'
]
}
}
};