Я не могу отправить полные данные через скрипт ajax на языке php.(воспламенитель кода) - PullRequest
0 голосов
/ 12 февраля 2012
<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 на запрос базы данных и получает результат. но я не могу получить данные типа через скрипт ajax. Можете ли вы помочь мне «ввести» данные из таблицы форм в сценарий AJAX?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 14 декабря 2016

Попробуйте добавить

" 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 настоятельно не рекомендуетсяэто может привести к тому, что браузер перестанет отвечать на запросы.

0 голосов
/ 18 февраля 2012

Я не совсем уверен, если это проблема, но есть подозрение:

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

Откуда взялся «тип»?Что означает «тип»?Является ли «тип» значением, возвращаемым из вашего запроса к БД?Или это что-то выбранное пользователем при выполнении поиска?

Если тип находится внутри вашего элемента формы, используйте 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 вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...