2013-06-19 3 views
0

Я пытаюсь получить ТЕКСТ с javascript getku после отправки, но не уверен, как это сделать на самом деле. 1) Как получить данные POST?JQuery AJAX - JSON или TEXT

2) Как получить и отправить его обратно, если у меня есть несколько, чтобы передать Название переменной назад (Тип данных: текст)

3) Когда я должен использовать JSON, а когда текст.

4) Если я использую JSON, как его читать (после javascript) и отображать его (возвращать данные на javascript).

Javascript на главной странице

function getsku(){ 

$.ajax({ 
    type: "POST", 
    url: "funcAjax.php", 
    data: { 'ddl1': $("#drop_1").val(), 'ddl2': $("#tier_two").val() }, 
    dataType: 'text', 
    success: function(data) { 
     $("#sku").val(data); 
    }, 
    complete: function() { 
     alert('Complete: Do something.'); 
    }, 
    error: function() { 
     alert('Error: Do something.'); 
     } 
}); 

} 

Кнопка

<input type="button" value="Get SKU" onclick="getsku();" > 

Попытка извлечь из другого PHP и возвращает данные в выше PHP (возникают проблемы здесь)

if(isset($_REQUEST['ddl1'])) { 
echo "FOUND1"; 
}else{ 
echo "FOUND2"; 
} 

ответ

1

Всегда вернуть JSON с вашего PHP. Затем вы можете включить столько переменных, сколько вам нужно в ответ, и код ошибки, а при необходимости - как это:

{"error":"0","result1":"result 1 data","result2":"result 2 data"} 

Тогда ваша success функция может стать:

success: function(data) { 
    if (data.error != 0) { 
     // An error occurred on server: do something 
    } else { 
     $("#sku").val(data.result1); 
     // do something with data.result2 
    } 
}, 

Ваш PHP будет стать чем-то вроде этого:

if(isset($_REQUEST['ddl1'])) { 
    echo json_encode(array("error"=>0, "result1"=>"FOUND1")); 
}else{ 
    json_encode(array("error"=>1, "result1"=>"NotFOUND")); 
} 
+0

Это Textbox, я до сих пор не могу получить его, чтобы отобразить <входной тип = «текст» название = «СКУ»> но поджигатель показывает, что он правильно ответил – CodeGuru

+0

Ваш jQuery-вызов '$ (" # sku "). Val (data);' ищет элемент с идентификатором 'sku'. Элемент '', который вы показываете, не имеет идентификатора. Вы можете либо добавить идентификатор в '' (рекомендуется), либо изменить свой селектор jQuery для поиска имени '' (медленнее) –