2015-07-23 8 views
1

Im, занимающийся apis parse.com. Я хочу сделать сложные запросы в моей функции javascript.сложный запрос ajax с использованием parse api

Я не мог обойтись с параграфами эквивалентности ниже кода для запроса ajax get. Любая помощь appriciated.

Например, чтобы получить результаты от 1000 до 3000, они дали пример питона,

import json,httplib,urllib 
connection = httplib.HTTPSConnection('api.parse.com', 443) 
params = urllib.urlencode({"where":json.dumps({ 
     "score": { 
     "$gte": 1000, 
     "$lte": 3000 
     } 
    })}) 
connection.connect() 
connection.request('GET', '/1/classes/GameScore?%s' % params, '', { 
     "X-Parse-Application-Id": "pcHvGniu2bbGggMofkcVKQUK91g5V3U5g4ZGWifK", 
     "X-Parse-REST-API-Key": "5pI5vb7dNu8mRY6yPFTOtpIdpUHeqv5gMChFaQxK" 
    }) 
result = json.loads(connection.getresponse().read()) 
print result 

ответ

1

код в JavaScript может быть еще короче:

$.ajax({ 
     type:"GET", 
     beforeSend: function (request) 
     { 
      request.setRequestHeader("X-Parse-Application-Id", 'pcHvGniu2bbGggMofkcVKQUK91g5V3U5g4ZGWifK'); 
      request.setRequestHeader("X-Parse-REST-API-Key", '5pI5vb7dNu8mRY6yPFTOtpIdpUHeqv5gMChFaQxK'); 
     }, 
     url: "https://api.parse.com/1/classes/GameScore", 
     data: "where=" + escape(JSON.stringify({"score": {"$gte": 1000, "$lte": 3000 }})), 
     processData: false, 
     success: function(msg) { 
      console.log(JSON.parse(msg)); 
     } 
}); 

JQuery будет добавлять данные в URL в строке запроса, окончательный запрос URL будет:

https://api.parse.com//1/classes/GameScore?where=%7B%22score%22%3A%7B%22%24gte%22%3A1000%2C%22%24lte%22%3A3000%7D%7D 

И, конечно, это нормально с onstruct url самостоятельно:

var url = "https://api.parse.com/1/classes/GameScore?where=" + escape(JSON.stringify({"score": {"$gte": 1000, "$lte": 3000 }})) 
$.ajax({ 
    type:"GET", 
    beforeSend: function (request) 
    { 
     request.setRequestHeader("X-Parse-Application-Id", 'pcHvGniu2bbGggMofkcVKQUK91g5V3U5g4ZGWifK'); 
     request.setRequestHeader("X-Parse-REST-API-Key", '5pI5vb7dNu8mRY6yPFTOtpIdpUHeqv5gMChFaQxK'); 
    }, 
    url: url, 
    processData: false, 
    success: function(msg) { 
     console.log(JSON.parse(msg)); 
    } 

});

URL-адрес запроса такой же, как и предыдущий.

+0

спасибо Даниэль, я положил конец URL-адреса; url + '"? where =" + escape (JSON.stringify (... ", и он снова благодарит вас. Если вы отредактируете свой ответ, я ценю – wseries

+0

Извините за это, я добавил дополнительную косую черту в URL:« https: //api.parse.com//1/classes/GameScore ", если вы столкнулись с какой-то проблемой, это может быть вызвано этим. И спасибо за ваше предложение, я добавил больше объяснений по поводу построения URL-адреса запроса. –

 Смежные вопросы

  • Нет связанных вопросов^_^