2014-01-04 3 views
0

Вот мой код: сервера АОтправить данные на удаленный сервер с помощью JSONP

$(function() { 

     var diffDomainUrl = 'http://domain_B.com/analtyics/cookie.php?jsoncallback=mycallback'; 

    $('.idlink').on('click', function() { 
     $.ajax({ 
      url: diffDomainUrl, 
      dataType: 'jsonp', 
      data: {}, 
      success: function (data, textStatus) { 
       console.log(textStatus); 
       console.log(data); 
      }, 
      jsonpCallback: 'mycallback' 
     }); 
    }); 

}); 

и сервер B

<?php 
$_GET['jsoncallback']; 
if(isset($_GET['jsoncallback'])) 
{ 
setcookie("T_LNG",$_GET['jsoncallback'],strtotime('+30 days')); 

echo $_COOKIE['T_LNG']."Welcome"; 
} ?> 

в этом коде я м ничего не получаю. я не знаю, в какой степени это работает или нет, или мой метод неправильный.

+0

свой адрес содержат перезвонит уже поэтому не установлено, что в АЯКС Вытащите и попробуйте удалить этот 'jsonpCallback: 'mycallback'' –

+0

ваш правильный, он отлично работает. –

+0

Я добавил это как ответ, примите его bro ':)' –

ответ

1

Ваш URL содержат перезвонит уже поэтому не установлено, что в АЯКС Вытащите и попробуйте удалить этот jsonpCallback: 'mycallback'

Попробуйте

$(function() { 

     var diffDomainUrl = 'http://domain_B.com/analtyics/cookie.php?jsoncallback=mycallback'; 

    $('.idlink').on('click', function() { 
     $.ajax({ 
      url: diffDomainUrl, 
      dataType: 'jsonp', 
      data: {}, 
      success: function (data, textStatus) { 
       console.log(textStatus); 
       console.log(data); 
      } 

     }); 
    }); 

}); 
1

изменение
$_GET['jsoncallback']; в

$_GET['callback']; 
0

В соответствии с Jquery Docs

"jsonp": Loads in a JSON block using JSONP. Adds an extra "?callback=?" to the end of 
your URL to specify the callback. Disables caching by appending a query string parameter, "_=[TIMESTAMP]", to the URL unless the cache option is set to true. 

Попробуйте

$(function() { 

     var diffDomainUrl = 'http://domain_B.com/analtyics/cookie.php?callback=?'; 

    $('.idlink').on('click', function() { 
     $.ajax({ 
      url: diffDomainUrl, 
      type: "POST",//if not specified get is the default 
      dataType: 'jsonp', 
      data: {}, //send data to server as key value pair if any eg {id:20} 
      jsonpCallback: 'mycallback' 
     }); 
    }); 

}); 

И ваша функция обратного вызова

function mycallback(responseJSON){ 
     ........ 
    } 
Смежные вопросы