문제

$ .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" } );

http://docs.jquery.com/ajax/jquery.get#urldatacallbacktype

다른 팁

JQuery는 쉬운 구현 방법을 제공합니다 JSONP, 브라우저의 간단한 스크립트 보안 정책을 해결하는 데 필요한 "해킹"입니다. 요청의 쿼리 문자열에서 콜백을 지정하고 서버의 응답의 특수 형식과 함께 필요합니다.

귀하의 요청은 다음과 같은 방식으로 구현해야합니다.

$.getJSON("http://play.mysite.com/usersessions/store/?jsoncallback=?",
  { data: "Hi!"}, function(){});
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top