【发布时间】:2014-05-30 10:40:56
【问题描述】:
我正在构建一个搜索框。似乎搜索文本没有传递给 $.ajax({
alert(val1); 有效,但 alert("step4 - working"); 未显示。如何解决这个问题?
<div class="imageSlots" id="imageSlots"></div>
<form action="" method="post">
Search Word:
<input type="text" name="val1" id="val1" />
<input type="button" value="Submit" id="btn" />
</form>
</div>
<script type="text/javascript">
var val1 = $('#val1').val();
$('#btn').click(function(e) {
e.preventDefault();
alert(val1);
$.ajax({
alert("step4 - working");
url: 'php/file1.php',
type: 'POST',
data: {'val1':val1},
success: function(data, status) {
$("#imageSlots").html(data);
}
});
$("#imageSlots").fadeOut("slow");
});
</script>
【问题讨论】:
-
您不能只将函数调用 (
alert()) 粘贴到对象声明 ({...}) 的中间。要调试您的 ajax 调用,请打开您的网络选项卡或使用 HTTP 嗅探器,例如 Fiddler2。 -
粘贴到
success,实际成功时会显示。 -
使用浏览器控制台查找错误。加载此代码后,您会立即看到一个
-
我在
$.ajax({上方使用了console.log (); -
@user3687622 不客气。如果您想在返回后输出警报(即使出现 404 等错误),只需添加一个
complete: function() { alert('we got an answer'); }键即可。
标签: javascript jquery html ajax forms