#javascript #php #jquery
#javascript #php #jquery
Вопрос:
Я использую jquery для отправки ajax-запроса с использованием post в свой php-код. Я хотел бы использовать возвращаемый тип данных, чтобы присвоить его переменной javascript. Как я могу это сделать?
когда я делаю var updatedNumOfPosts = parseInt(данные); он говорит, что updatedNumOfPosts не определено. Я также пробовал var updatedNumOfPosts = data и т.д. Ниже приведен мой код, помощь очень ценится.
функция javascript
function pagerefresh()
{
$.post("searchPresentation.php", {get_num_posts:"yes"}, function ( data ){
var udpatedNumOfPosts = parseInt(data); //I would like to assign this variable
}
}
функция php
if (isset($_POST['get_num_posts']))
{
$user = $_POST['user'];
$num = num_of_posts($user);
echo $num;
}
Ответ №1:
Вам не хватает закрывающей скобки функции post, пожалуйста, измените свой код на:
function pagerefresh()
{
$.post("searchPresentation.php", {get_num_posts:"yes"}, function ( data ){
var udpatedNumOfPosts = parseInt(data); //I would like to assign this variable
});
}
Комментарии:
1. Пожалуйста, попробуйте это и дайте мне знать, каков результат для этого: typeof(data). Мне нужно знать тип данных, чтобы мы могли определить, можно ли их использовать с parseInt или нет.
Ответ №2:
$user = $_POST['user'];
Передаете ли вы какую-либо пользовательскую переменную?
Ну, вы должны объявить переменную перед функцией, чтобы использовать ее везде.
вот так:
var udpatedNumOfPosts;
function pagerefresh() {
$.post("searchPresentation.php", {get_num_posts:"yes", user: "somedata"}, function ( data ){
udpatedNumOfPosts = parseInt(data);
}
}
или есть ошибка: uPDatedNumOfPosts, не uDPated
Обновление: попробуйте также преобразовать объект в строку:
function objToString (obj) {
var str = '';
for (var p in obj) {
if (obj.hasOwnProperty(p)) {
str = p '::' obj[p] 'n';
}
}
return str;
}
udpatedNumOfPosts=objToString(data)-0;
Комментарии:
1. В частности, вам нужно передать переменную «user» во втором параметре
$.post
.2. Я не могу понять, каков возвращаемый тип данных. Я исправил весь синтаксис, хотя updatedNumOfPosts = parseInt(данные) выдает NaN . Я не знаю, как преобразовать заданное значение в целое число
3. @user3769015 не могли бы вы показать содержимое данных?
console.log(data)
было бы здорово.4. document.write(данные) выдает 15. Это указывает на то, что в таблице 15 строк
5. Не знаю, что это может быть. Попробуйте
updatedNumOfPosts=data-0;
вместоparseInt()