如何在jquery成功方法()中接收其他参数?

时间:2014-11-25 06:21:32

标签: javascript jquery

我通过Jquery/Ajax来验证我的html表单。这是Php的流程。在php页面中,它在处理到Jquery Success方法后返回所有成功结果或错误结果。

所以我想在jquery成功方法()中接收另一个参数。有没有办法收到它?

例如:,以下行代码如果$numSearch是== 0

elseif($numSearch === 0){
    echo "<font color='red'>No Matches.</font>";
}

然后我想在jquery成功方法中接收另一个参数,以便我可以加载getDetails2(SearchValue);函数。现在,当值为integer时,它会加载。但是应该检查值是否为整数并且结果显示某些内容。

Php代码:

require_once("corefile.php");
$search = (int) $_POST['data'];
$cdid = inputvalid($_POST['cdid']);

if($cdid == "ID"){
    // if serach value is empty 
    if(empty($search)){
        echo "<font color='red'>Search keyword required.</font>";
    }
    // if serach value is not empty
    elseif(!empty($search)){        
        // start myqli_query to search
        //$numserach
    }
    elseif($numSearch === 0){
        echo "<font color='red'>No Matches.</font>";
    }
}   

Jquery代码:

$(document).ready(function() {  
    $("#cdid").click(function() {                
        var SearchValue = $('#txt_name').val();
        var cdid = $('#cdid').val();         

        $("#loading-image").show();         
        $.ajax({    //create an ajax request to load_page.php
            type: "POST",
            url: "doSearch.php",             
            data :  {
            'data' : SearchValue,
            'cdid' : cdid
        },          

        dataType: "html",   //expect html to be returned                
        success: function(response){                    
        if(Math.floor(SearchValue) == SearchValue && $.isNumeric(SearchValue)){
            getDetails2(SearchValue);           
        } 

        $("#showSearchResult").html(response);                  
        $('#visiableaftersearch').hide();
        document.getElementById('txt_name').value='';
        document.getElementById('txt_given_name').value='';
        $("#loading-image").hide();

        }           
    });
});

});

2 个答案:

答案 0 :(得分:2)

如果您使用JSON,则可以在JSONObject中添加更多值作为键值对,例如:

{"key1":"value1","key2":"value2"}

然后使用JSON.parse,从success方法解析数据。然后循环它,以获得密钥和&amp;价值分开。

success: function(response){   
   var json=JSON.parse(response);

   jQuery.each(json, function(i, val) {
        console.log("key : "+i+" value: "+val);
    });
}

答案 1 :(得分:1)

是的,可以完成,在Ajax调用中使用dataType: "json"(而不是HTML响应),并发送一些错误标记&amp;成功,基于该标记解析您的Json响应。

例如,

你正在制作ajax请求的php文件应编码以Json格式返回的数据,如(带有必要的标志)

//example 
echo json_encode(array($con_info));