我无法通过php语言的ajax脚本发送完整数据。 (代码点火器)

时间:2012-02-12 06:41:47

标签: php ajax codeigniter

<script language='javascript' type='text/javascript' charset='<?=$page_charset?>'>
    $(document).ready(function(){

        $('#btn_login').click(function(){
            $.search_keyword();
        });
    });

这是脚本

<form name='frm_search_keyword'>
<table style='width:250px;'>
    <tr>
        <td style='width:100px;'>
            Search 
        </td>
        <td>
            <input type="text" name="web_keyword" />
        </td>
        <td>
            <input type="submit" id="btn_login" name="btn_login" value="search!" />
        </td>
    </tr>
</table>
</form> 

这是表格

search_keyword:function(type)
{
    $.ajax({
        type: 'POST',
        url: '/web_keyword',
        data: {'b_type':type},
        cache: false,
        async: false,
        success: function(result){
            if(result == 12001)
            {
                alert('please choose your interest.');
                location.href = '/account/interest';
            }else
                location.href = '/'+type+'/'+result;
        }
    });
}

成功将'web_keyword'发送到db查询并获取结果。 但是我无法通过ajax脚本获取类型数据。 你能帮我从表单表中“输入”数据到ajax脚本吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

我不确定这是不是问题,但可疑:

 $('#btn_login').click(function(){
        $.search_keyword();
    });

“类型”应该来自何处?什么是“类型”指的是什么? “type”是从数据库查询返回的值吗?或者是用户在执行搜索时选择的内容?

如果type是表单元素中的内容,则使用Javascript或jQuery或其他任何方法从页面中“获取”该值,然后您需要将该数据传递给AJAX功能。

$('#btn_login').click(function(){
        //First get the "type" value, for example if "type" is retrieved from the form element
        var type = $('#btn_login').attr('type'); //this is for example's sake, since you did not assign an id to this form element...
        search_keyword(type);
    });

您只需要从生成和/或存储的位置获取“类型”,并将其传递给您的AJAX函数。

另外,也许这是无关紧要的,但你的“search_keyword()”函数定义对我来说很奇怪......

而不是:

search_keyword:function(type){...}

应该是:

search_keyword = function(type){...}

最后一件事,您能告诉我们您使用的是哪个Javascript库吗?

答案 1 :(得分:0)

尝试添加

" dataType: 'json'," like 


   $.ajax({
        type: 'POST',
        url: '/web_keyword',
   dataType: 'json',
        data: {'b_type':type},
    });

并使用

返回日期
$data['return1']='true';
echo json_encode($data);


         success: function(result){
            if(result.return1 == 12001)
            {
                alert('please choose your interest.');
                location.href = '/account/interest';
            }else
                location.href = '/'+type+'/'+result;
        }

你应该删除async:false

强烈建议不要将此选项设置为false,因为它可能会导致浏览器无响应。