2013-08-29 3 views
0

Я хочу передать значение из моего кода jquery в переменную php после ввода пользователем через текстовое поле, но я не получаю никакого значения вообще на стороне PHP через POST. Я использую .change и .post , кто-нибудь знает, как это сделать правильно? вот мой код:Как правильно передать значение jquery в php с помощью ajax?

$(document).ready(function(){ 
$("#packagename").change(function(){ 
    var packagename = $('#packagename').val(); 
    var url = '{{url}}'; //localhost/test/test.php 
    $.ajax({ 
    type: 'post', 
    url: url, 
    dataType:html, 
    data:{'val':packagename}, 
    }); 
    }); 
}); 
+1

http://api.jquery.com/jQuery.post/ –

+0

Вы не можете изменять PHP-переменные с помощью JavaScript, так как PHP является серверным языком и тем самым совершенно не осознает ничего, что происходит в браузере. Запросы POST обрабатываются на странице, которую вы отправляете, и не влияют на страницу, на которой вы находитесь. –

+0

Возможный дубликат [Как я могу загружать файлы асинхронно с помощью jQuery?] (Http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery) –

ответ

0

Единственная проблема, которую я вижу, экспромтом является то, что html в dataType:html, должен иметь кавычки вокруг него, как это: dataType: 'html',. В противном случае ваш код будет искать переменную html, не найти ее и выбросить ошибку.

+0

Я уже сделал, но все еще я не получаю никакого значения в моем php-коде: echo $ _POST ['val'] –

+0

Есть ли на вашей консоли javascript какие-либо ошибки? Получаете ли вы ответ с сервера? – Divey

+0

Нет ошибок. –

0

http://api.jquery.com/jQuery.post/

dataType 
Type: String 
The type of data expected from the server. Default: Intelligent Guess (xml, json, script, text, html). 

изменение dataType: html, в dataType: 'html',

+0

Я уже сделал, но все равно я не получаю никакого значения в моем php-коде: echo $ _POST ['val'] –

+0

@NeilAntonio проверить ошибку в консоли –

+0

Я уже сделал, но я не обнаружил никаких ошибок ... –

1

попробовать

$(document).ready(function(){ 
$("#packagename").change(function(){ 
    var packagename = $('#packagename').val(); 
    var url = '{{url}}'; //localhost/test/test.php 
    $.ajax({ 
    type: 'post', 
    url: url, 
    dataType:text, 
    data:{'val':packagename}, 
    success:function(result){ 
alert(result); 
} 
    }); 
    }); 
}); 
+0

Я попробовал, исходный код отображается в диалоговом окне. –

+0

@NeilAntonio Если у него есть предупреждение, это означает, что вы JS работает, то чего вы ожидаете? –

+0

Я ожидаю, что он передаст значение php ... –

0

Вы пробовали просто положить URL в поле URL-адрес вместо того, что бы это ни объекта вы пытаетесь использовать?

Предполагается, что вы не пытаетесь выполнить ajax на странице, на которой вы сейчас находитесь, и ожидаете, что переменная php будет отображаться на текущей странице.

+0

Im пытается ajax его на текущую страницу ... Есть ли у вас какие-либо идеи о том, как я мог бы с этим справиться? –

+0

Для обновления текущей страницы вы просто сделаете это с помощью javascript. Например, для хранения значения в базе данных вы должны выполнить ajax на другой php-странице, которая используется для записи в базу данных. Вы можете сделать так, чтобы имитировать обновление текущей страницы. – hireSwish

Смежные вопросы