отправить данные в json с php

0

мой json-скрипт:

// add button .click
$('a.add').click(function(){ 
    $('#loader').show();
    var url = "/?"+$("form[name='jsms_add']").serialize();  
    ajx = $.ajax({
        url: url,
        type: 'post',
        data:{ajax:1},  
        dataType: 'json',
        success: function(r) {
            $('#loader').hide();
            if(r.r != 0){
                alert("ok");
                jsmsalert($('#alert_add'),'success',r.m);
                apendtable(r.r)
                $("tr").removeClass("odd");
                $("tr.viewrow:odd").addClass("odd");
                $("tr.editrow:odd").addClass("odd");
                $('td[colspan="7"]').remove();
            }
            else{
                jsmsalert($('#alert_add'),'error',r.m,0);                        
            }
        },
        error: function(request, status, err) {
            $('#loader').hide();
            jsmsalert($('#alert_add'),'error','error...'); 
            alert( "ERROR:  " + err + "  -  "  );
        }      
    }); 

и в моем файле php у меня есть

$data = array(
    'r'    => '1',
    'm'    => '1',
);
json_encode($data);

теперь я хочу знать, как я могу отправить значение json, чтобы rr != 0 было истинным, а мой код успеха выполнялся? В Firefox ошибка: "SyntaxError: JSON.parse: неожиданный символ", этот код, используемый другим сайтом, я не знаю, что произошло в php файле

моя проблема в том, что как я могу отправить некоторые данные (например, r = 1) в json, потому что я хочу проверить, что если r = 1 (означает успех) что-то сделать и показать текст из m (сообщения) на моей странице

пожалуйста, помогите мне исправить файл php

  • 4
    Я думаю, что у вас есть фундаментальное недопонимание JavaScript и PHP здесь. Во-первых, это файл javascript, а не json. В этом случае в качестве типа передачи между клиентом и сервером используется JSON или Javascript Object Notation. Во-вторых, вы сериализуете форму в URL, который вы публикуете, а затем вручную устанавливаете данные, которые хотите опубликовать? На стороне сервера вам может понадобиться echo любые результаты, которые вы хотите, чтобы JavaScript мог читать
  • 0
    Вы даже отправляете данные из php в javascript?
Показать ещё 4 комментария

1 ответ

1

В своем php файле убедитесь, что вы эхом кодируете данные, например:

$data = array(
'r'    => '1',
'm'    => '1',
);
echo json_encode($data);

Если вы не будете эхо-данные, он не вернется к вашему JavaScript. Если ваш JavaScript - это то, что бросают ошибки, попробуйте прокомментировать dataType: "json" и консоль, регистрирующая возврат. Возможно, php выбрасывает ошибки, которые jquery отказывается анализировать.

$.ajax({'url': url,type: 'post',data:{ajax:1}, success: function(returnData){
        console.log(returnData);
}});
  • 0
    да, я эхо в моем файле, но у меня есть ошибка "SyntaxError: JSON.parse: неожиданный символ"
  • 0
    моя последняя ошибка для этого кода: SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню