복붙노트

[JQUERY] 간단한 jQuery를, PHP와 JSONP 예?

JQUERY

간단한 jQuery를, PHP와 JSONP 예?

해결법


  1. 1.여기에 외부 도메인이 자동으로 조치만을 JSONP 요청, 예를 들어, 내 트윗 슬라이더에 $ .getJSON을 사용하는 경우

    여기에 외부 도메인이 자동으로 조치만을 JSONP 요청, 예를 들어, 내 트윗 슬라이더에 $ .getJSON을 사용하는 경우

    소스 코드를 보면 당신은 내가 .getJSON을 사용하여 트위터 API를 호출하고 있음을 볼 수 있습니다.

    그래서 귀하의 예는 다음과 같습니다 이는 테스트 및 작품 (당신은 행동에 그것을보고 http://smallcoders.com/javascriptdevenvironment.html에 갈 수 있습니다)

    //JAVASCRIPT
    
    $.getJSON('http://www.write-about-property.com/jsonp.php?callback=?','firstname=Jeff',function(res){
        alert('Your name is '+res.fullname);
    });
    
    //SERVER SIDE
      <?php
     $fname = $_GET['firstname'];
          if($fname=='Jeff')
          {
              //header("Content-Type: application/json");
             echo $_GET['callback'] . '(' . "{'fullname' : 'Jeff Hansen'}" . ')';
    
          }
    ?>
    

    ? 콜백 = 참고? 와 + res.fullname


  2. 2.우선 당신은 JSONP를 사용하여 POST 요청을 할 수 없습니다.

    우선 당신은 JSONP를 사용하여 POST 요청을 할 수 없습니다.

    무엇 기본적으로 일어나고있는 것은 동적 스크립트 태그는 데이터를로드 삽입되어 있다는 것입니다. 따라서에만 요청이 가능합니다 GET.

    또한 데이터의 요청이 변수에 데이터를로드 완료 후에 호출되는 콜백 함수로 포장한다.

    이 모든 과정은 당신을 위해 jQuery를에 의해 자동으로 진행됩니다. 그냥 외부 도메인에 $ .getJSON을 사용하여 불구하고 항상 일을하지 않습니다. 나는 개인적인 경험 밖으로 말할 수있다.

    가장 좋은 것은 및 콜백 = 추가하고있다? 당신은 URL로.

    서버 측에서 당신은 당신의 데이터가이 콜백 함수에 싸여되어 있는지 확인있어.

    즉.

    echo $_GET['callback'] . '(' . $data . ')';
    

    편집하다:

    충분히 그렇게 때문에 리암의 대답에 대한 언급을 아직 담당자를 통해 여기에 해결책이 없습니다.

    리암의 라인을 교체

     echo "{'fullname' : 'Jeff Hansen'}";
    

     echo $_GET['callback'] . '(' . "{'fullname' : 'Jeff Hansen'}" . ')';
    

  3. 3.더 많은 제안

    더 많은 제안

    자바 스크립트 :

    $.ajax({
            url: "http://FullUrl",
            dataType: 'jsonp',
            success: function (data) {
    
                //Data from the server in the in the variable "data"
                //In the form of an array
    
            }
    
    });
    

    PHP 콜백 :

    <?php
    
    $array = array(
         '0' => array('fullName' => 'Meni Samet', 'fullAdress' => 'New York, NY'),
         '1' => array('fullName' => 'Test 2', 'fullAdress' => 'Paris'),
    );
    
    if(isset ($_GET['callback']))
    {
        header("Content-Type: application/json");
    
        echo $_GET['callback']."(".json_encode($array).")";
    
    }
    ?>
    

  4. 4.유효한 JSON 배열로 서버 응답을하려면 괄호 (에서 JSON 포장) 콜백을 앞에 추가 :

    유효한 JSON 배열로 서버 응답을하려면 괄호 (에서 JSON 포장) 콜백을 앞에 추가 :

    echo $_GET['callback']."([{'fullname' : 'Jeff Hansen'}])";
    

    JSON에 네이티브 PHP 배열을 변환합니다로 json_encode ()를 사용 :

    $array = array(
        'fullname' => 'Jeff Hansen',
        'address' => 'somewhere no.3'
    );
    echo $_GET['callback']."(".json_encode($array).")";
    

  5. 5.간단한 jQuery를은, PHP와 JSONP의 예는 다음과 같습니다 :

    간단한 jQuery를은, PHP와 JSONP의 예는 다음과 같습니다 :

    창로드 = 함수 () { {(아약스 $ 캐시 : 거짓, URL : "https://jsonplaceholder.typicode.com/users/2" dataType와 'JSONP' 입력 : 'GET'를, 성공 : 기능 (데이터) { CONSOLE.LOG ( '데이터'데이터) }, 오류 : 함수 (데이터) { CONSOLE.LOG (데이터); } }); }; <스크립트 SRC = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">


  6. 6.

    $.ajax({
    
            type:     "GET",
            url: '<?php echo Base_url("user/your function");?>',
            data: {name: mail},
            dataType: "jsonp",
            jsonp: 'callback',
            jsonpCallback: 'chekEmailTaken',
            success: function(msg){
        }
    });
    return true;
    

    컨트롤러에서 :

    public function ajax_checkjp(){
    $checkType = $_GET['name'];
    echo $_GET['callback']. '(' . json_encode($result) . ');';  
    }
    

  7. 7.이 옵션을 사용합니다 ..

    이 옵션을 사용합니다 ..

        $str = rawurldecode($_SERVER['REQUEST_URI']);
        $arr = explode("{",$str);
        $arr1 = explode("}", $arr[1]);
        $jsS = '{'.$arr1[0].'}';
        $data = json_decode($jsS,true);
    

    이제 ..

    값에 액세스하기 위해 [ 'elemname'] $ 데이터를 사용한다.

    JSON 개체와 JSONP 요청을 보냅니다.

    요청 형식 :

    $.ajax({
        method : 'POST',
        url : 'xxx.com',
        data : JSONDataObj, //Use JSON.stringfy before sending data
        dataType: 'jsonp',
        contentType: 'application/json; charset=utf-8',
        success : function(response){
          console.log(response);
        }
    }) 
    
  8. from https://stackoverflow.com/questions/6809053/simple-jquery-php-and-jsonp-example by cc-by-sa and MIT license