page HTML
// in script tag
$(document).ready(function() {
var url = "list.ashx";
$.get(url + "?get", function (r1) { alert("get: " + r1); });
$.post(url + "?post", function (r2) { alert("post: " + r2); });
$.ajax(url + "?ajax", function (r3) { alert("ajax: " + r3); });
$("div:last").load(url + "?load", function (r4) { alert("load: " + r4); });
});
// in body tag
<div></div>
dans 'list.ashx'
public void ProcessRequest (HttpContext context) { context.Response.Write("ok"); }
le résultat
- .get $ et $ .post atteindre list.ashx mais sans retour
- $ .ajax pas atteint list.ashx
- .load $ entièrement le succès
Les problèmes sont
- pourquoi seul travail ».load $? Comment faire fonctionner $ .get ou $ .post?
mise à jour
$("input").click(function() {
$.ajax({ url: url
, context: this
, data: "ajax=test"
, cache: false
, async: false
, global: false
, type:"POST"
, processData: false
, dataType: "html"
, success: function (data) { alert(data); }
, error: function (data) { alert(data.responseText); }
});
});
il est toujours frappé d'erreur: function() {} mais le 'data.responseText' est le résultat correct !!
Le Firebug « net » onglet ou le suivi des ressources de Chrome devrait dire vous plus sur ce qui arrive aux demandes. –
* "$. Ajax n'atteint pas list.ashx" * C'est parce que vous appelez incorrectement 'ajax': http://api.jquery.com/jQuery.ajax/ Mais ne vous inquiétez pas,' get' et 'post' ne sont que des wrappers pour cela, vous pouvez le supprimer de votre expérience. Par curiosité, qu'arrive-t-il à '$ .get (url +"? Load ", fonction (r1) {alert (" get: "+ r1);});'? (Note J'ai changé la chaîne de requête.) –