Javascript POST数据未传递到$.ajax({}

Javascript POST数据未传递到$.ajax({},javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,我正在构建一个搜索框。似乎搜索文本没有传递到$.ajax({ 警报(val1);工作,但警报(“步骤4-工作”);未显示。如何解决此问题 <div class="imageSlots" id="imageSlots"></div> <form action="" method="post"> Search Word: <input type="text" name="val1" id="val1" /&

我正在构建一个搜索框。似乎搜索文本没有传递到$.ajax({

警报(val1);
工作,但
警报(“步骤4-工作”);
未显示。如何解决此问题

<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>

搜索词:
var val1=$('#val1').val();
$('#btn')。单击(函数(e){
e、 预防默认值();
警报(val1);
$.ajax({
警报(“第4步-工作”);
url:'php/file1.php',
键入:“POST”,
数据:{'val1':val1},
成功:功能(数据、状态){
$(“#imageSlots”).html(数据);
}
});
$(“#图像插槽”).fadeOut(“慢”);
});

您有语法错误。您不能在对象文本中放置
警报。请将其移到上方。

将代码更新为以下内容:

<script type="text/javascript">
        var val1 = $('#val1').val();
        $('#btn').click(function(e) {       
            e.preventDefault();
            alert(val1);
            $.ajax({
                url: 'php/file1.php',
                type: 'POST',
                data: {'val1':val1},                    
            success: function(data, status) {
                    alert("step4 - working");  
                    $("#imageSlots").html(data);

                }
            });
            $("#imageSlots").fadeOut("slow");
        });
    </script>

var val1=$('#val1').val();
$('#btn')。单击(函数(e){
e、 预防默认值();
警报(val1);
$.ajax({
url:'php/file1.php',
键入:“POST”,
数据:{'val1':val1},
成功:功能(数据、状态){
警报(“第4步-工作”);
$(“#imageSlots”).html(数据);
}
});
$(“#图像插槽”).fadeOut(“慢”);
});

< />代码>不能在对象声明的中间粘贴函数调用(<代码>警报())/代码>(<代码> {…} /代码>)。若要调试ajax调用,请打开网络选项卡或使用HTTP嗅探器(如Fiddler2)。将其粘贴到
success
中,并在实际成功时显示。使用浏览器控制台查找错误。加载此代码后,您会立即看到一个错误。我使用了
console.log();
以上
$。ajax({
@user3687622不客气。如果您想在返回后输出警报(即使是404等错误),只需添加一个
complete:function(){alert('we got answer');}
键。谢谢。如何检查文本是否传递到
$.ajax({
?@user3687622,如果这解决了您的问题,请接受。)感谢cpoDesign:)这很有效!因此它确认了POST已成功传递。但是为什么php不读取数据呢?
if(isset($\u POST['val1')){
将断点放在警报之前,在javascript或使用fiddler中,what is response或更好地向我们展示返回的结果示例。