js에서 PHP로 일부 JSON 데이터를 보내려고하고 REST에 의해 몽고로 전달하려고합니다.json에서 jp로 json - 스트림을 열지 못했습니다 : HTTP 요청이 실패했습니다
다음은 json 문자열을 출력합니다 (PHP 파일에 문자열로 넣은 경우 나중에 작동합니다. 아래 스 니펫을 참조하십시오). iM.php에
var s = JSON.stringify(send); //s contains previous data in arrays, etc
ic(s);
function ic(s){
var ajaxUrl = './iM.php';
$.getJSON(ajaxUrl,
{da: s},
function(data) {
console.log (data);
});
}
:
JS는 JSON을 보내 파이어 폭스 디버거에서
$s = $_GET["da"]; // <-- doesn't work
//$s = '{"r":"pax","c":1,"w":["kiwi","melon"],"g":["cat","dog"]}'; //<-- works fine
$opts = array(
"http" => array(
"method" => "POST",
"header" => "Content-type: application/json",
"content" => $s,
),
);
$context = stream_context_create($opts);
$result = file_get_contents("https://api.mongolab.com/api/1/databases/$db/collections/$collection?apiKey=$key", false, $context);
var_dump($result); // Dumps the response document
, 나는 그러나 어떤 데이터가 추가되지 않습니다, 실제로 파일이 호출되는 것을 볼 수 있습니다.
error_log 파일이 생성되었습니다. 스트림을 열지 못했습니다 : HTTP 요청이 실패했습니다! HTTP/1.1 400 나쁜 요청
나는 또한 작동하지 않는 PHP에서 urlencode ($ s)를 시도했다. $ db, $ collection 및 $ key는 PHP에서 defiend이며 아무런 문제가 없습니다.
무엇이 누락 되었습니까?
시도를 json_decode를 사용/$ collection? apiKey = $ key' 그리고 체크는 url이 존재한다는 것입니다. – vaso123
POST를 사용하여 JSON을'IM.php '로 보내보십시오. 어쩌면 GET 요청에 너무 커서 또는 잘못된 문자가 포함되어있을 수 있습니다. –
@lolka_bolka url은 정확하고 PHP에서 // 주석을 제거하면 PHP가 요청을 올바르게 처리 할 수 있습니다. –