我有一个Web服务,当通过url直接询问时它可以正常工作,但我似乎无法通过Jquery Ajax调用来调用它。
这是我的代码:
jQuery("#field1").focusout(function() {
alert("focusOut");
jQuery.ajax({
type: 'POST',
url: '/motifRes/name',
data: { 'clRef' : document.getElementById("field1") },
datatype: 'text',
success: function(msg) {
$("#nomClient").val(msg);
},
error: function (xmlHttpRequest, textStatus, errorThrown) {
alert(textStatus, errorThrown);
}
});
});
我确实输入了这个函数,因为我得到了“focusOut”警报,但之后什么都没有,只是没有。 我使用了Chrome开发工具和fiddler,我看不到请求,也没有错误。
有什么想法吗?
编辑:
关于您的问题:
您是从外部域请求的吗? 块引用
不,我不是
你确定它是一个POST请求吗?
无论哪种方式,它都不会改变一件事= /
这是我的HTML
<div class="panel" id="standard">
<form id="test" action="#" method="get">
<fieldset>
<legend>Formulaire de changement du motif d'annulation</legend>
<div class="form-row">
<div class="field-label"><label for="field1">Ref Client</label>:</div>
<div class="field-widget"><input name="field1" id="field1" title="Entrer la référence client" /><input id="nomClient" readonly="readonly" type="text" value=""></input></div>
</div>
答案 0 :(得分:1)
使用done(),fail()和always()而不是success()和error()。也可以使用document.getElementById(“field1”)。value而不是document.getElementById(“field1”)。
jQuery("#field1").focusout(function() {
alert("focusOut");
jQuery.ajax({
type: 'POST',
url: '/motifRes/name',
data: { 'clRef' : document.getElementById("field1").value },
datatype: 'text',
done: function(msg) {
$("#nomClient").val(msg);
},
fail: function (xmlHttpRequest, textStatus) {
alert(textStatus);
}
});
});
答案 1 :(得分:0)
将您的data
属性更改为
data: { 'clRef' : $("#field1").val() },
答案 2 :(得分:0)
终于明白了。我猜是一个恶毒的,新手的错误...
url: '/motifRes/name'
=!
url: 'motifRes/name'
斜杠确实意味着一条绝对路径,如果没有它,我的webservice的根就会与网址连接......