El servidor no aceptará ningún parámetro en una URL de solicitud, por lo que necesito eliminar todos los parámetros adicionales en la URL y, por supuesto, no puedo controlar el servidor.¿Puedo hacer una solicitud jQuery JSONP sin agregar el parámetro '? Callback =' en la URL?
jQuery:
$.ajax({
type: 'GET',
url: 'http://cross-domain.com/the_jsonp_file,
jsonpCallback: 'jsonCallback',
contentType: 'application/json',
cache: 'true',
dataType: 'jsonp',
success: function(json) {
console.log(json);
},
});
El archivo JSONP:
jsonCallback({"test": "hello"});
Cuando envío esa petición Ajax, la URL tiene el siguiente aspecto:
http://cross-domain.com/the_jsonp_file?callback=jsonCallback
pero necesito esto (sin parámetros):
http://cross-domain.com/the_jsonp_file
EDIT:
Aquí está toda mi situación:
function MyClass(imgs) {
// imgs is array of URLs
this.imgs = imgs;
this.submit = function() {
// button click event triggers this method
this._show();
};
this._show = function() {
var _this = this;
for (var i = 0; i < _this.imgs.length; i++) {
(function($, j) {
$.ajax({
type: 'GET',
url: _this.imgs[j],
jsonp : false,
jsonpCallback: 'jsonCallback',
cache: 'true',
dataType:'jsonp',
success: function(json) {
console.log(_this.imgs[j]);
},
});
})(jQuery, i);
};
};
};
Y tengo este mensaje de error:
Uncaught TypeError: Property 'jsonCallback' of object [object Window] is not a function
lo raro es que algunas solicitudes están llamando éxito jsonCallback.
El servidor rechaza las solicitudes con cadenas de consulta en total? –
Puede que sea mejor que escriba el código JSONP usted mismo, en lugar de usar jQuery ... – lonesomeday
Intenté 'dataType: 'script'' en configuración ajax y está haciendo URL sin ningún parámetro, pero no tengo idea de cómo hacer la devolución de llamada función funcionando. – Jonypoins