$ .getJson을 외부 서버로 전송합니다
문제
$ .getJson이 외부 서버를 오가는 가장 좋은 방법이라고 들었습니다. 나는 아마도 7 시간 동안 jQuery의 ajax를 사용하여 브라우저가 해당 유형의 방법을 허용하지 않는다는 것을 알아 내려고 노력했을 것입니다. jQuery getjson을 사용하여 데이터를 보내고 싶습니다. CakePHP를 수신 종료 (예 : 외부 서버)로 사용하고 있습니다.
$.getJSON("http://play.mysite.com/usersessions/store/",{ data: "Hi!"});
나는 그것을 필요로하지 않기 때문에 콜백을 원하지 않습니다. 외부 서버로 데이터를 보내면됩니다. 이것은 MVC 사이트이므로 useresessions는 내 컨트롤러이고 저장은 내 행동입니다.
아래는 내 CakePHP 코드입니다. 당신이 그것을 모른다면 괜찮습니다. getjson 데이터를 올바르게 보내고 있는지 정말로 알아야합니다.
<?php class UsersessionsController extends AppController {
var $name = 'Usersessions';
var $helpers = array('Html', 'Form','Ajax');
var $components = array('RequestHandler');
function store()
{
Configure::write('debug', 0);
$this->autoRender = false;
if($this->RequestHandler->isAjax()) {
if ($this->params['url']['data'])
{
$this->data['Usersession']['data'] = $this->params['url']['data'];
$this->Usersession->Save($this->data);
echo 'Success';
}
}
}
} ?>
감사해요!
해결책
GetJson ()은 서버에서 JSON 데이터를 읽는 것입니다. 브라우저에서 서버로 일부 매개 변수를 보내려면 get ()를 사용하고 선택적 콜백을 사용하지 마십시오.
문서에서 :
test.php 페이지를 요청하고 몇 가지 추가 데이터를 보내십시오 (여전히 반환 결과를 무시하는 동안).
$.get("test.php", { name: "John", time: "2pm" } );
다른 팁
JQuery는 쉬운 구현 방법을 제공합니다 JSONP, 브라우저의 간단한 스크립트 보안 정책을 해결하는 데 필요한 "해킹"입니다. 요청의 쿼리 문자열에서 콜백을 지정하고 서버의 응답의 특수 형식과 함께 필요합니다.
귀하의 요청은 다음과 같은 방식으로 구현해야합니다.
$.getJSON("http://play.mysite.com/usersessions/store/?jsoncallback=?",
{ data: "Hi!"}, function(){});
제휴하지 않습니다 StackOverflow