Jsonp с параметрами

Этот пример отлично работает (без параметров):
Образец JSONP в твиттере

<html><head><title>Twitter 2.0</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head><body>
<div id='tweet-list'></div>
<script type="text/javascript">
$(document).ready(function() {
    var url =  "http://api.twitter.com/1/statuses/user_timeline/codinghorror.json";
    $.getJSON(url + "?callback=?", null, function(tweets) {
        for(i in tweets) {
            tweet = tweets[i];
            $("#tweet-list").append(tweet.text + "<hr />");
        }
    });
});
</script>
</body></html>  

Но это не работает с этим URL:

var url = "https://thiswaschangedforsecurity/Rest/Authenticate/Login?username=jsm&password=a&ip=1";  

Этот URL возвращает данные JSON при вставке на строку URL:

{"SessionID":"44e6f809-3b40-43fc-b425-069e9c52cbda","SourceIP":"1","UserID":313}  

Но я не могу заставить его работать с JSONP. Есть идеи по этому поводу?

2 ответа

Решение

Чтобы включить jsonp (вызывает междоменный доступ), его следует поместить в файл web.config

<bindings>
  <webHttpBinding>
    <binding crossDomainScriptAccessEnabled="true">
      ....
    </binding>
  </webHttpBinding>
</bindings>

Эта линия

$.getJSON(url + "?callback=?", null, function(tweets) {

добавляет? к вашему URL, когда следует добавить &, поскольку в проблемном случае ваш URL уже имеет?

Другие вопросы по тегам