2015-02-06 3 views
1

Я вызываю файл PHP из AJAX, и я хочу передать также переменную. Это мой код:Пропустить параметр из файла Ajax в PHP

echo "<h4 style='color:white'>Messages</h4>"; 
echo "<textarea cols='50' rows='10' style='font-size: 24px;'></textarea><br><br>"; 
echo "<button id='sendmessage' style='padding:10px'>Submit</button>"; 
echo "<button id='deletemessage' style='margin-left:5px;padding:10px'>Delete</button>"; 


echo "<script> 
    jQuery('#sendmessage').click(function(){ 
     jQuery.ajax({ 
      data: { content: jQuery('textarea').val() }, 
      url:'wp-content/themes/dt-chocolate/postmessages.php', 
      success:function(data){} 
     }); 
    }); 
    </script>" 

и файл PHP:

<?php 
require_once('/opt/lampp/htdocs/mydomain/wp-config.php'); 

$post = array(
     'post_content' => data.content, 
     'post_title'  => "testing", 
     'post_status' => 'publish', 
     'post_type'  => 'post', 
     'post_category' => array(28) // Default empty. 
    ); 



wp_insert_post($post); 
?> 

Однако содержание поста является «datacontent», а не фактический текст из текстового поля. Что я делаю не так?

ответ

3
echo "<script> 
jQuery('#sendmessage').click(function(){ 
    jQuery.ajax({ 
     data: { content: jQuery('textarea').val() }, 
     url:'wp-content/themes/dt-chocolate/postmessages.php', 
     type: 'POST', 
     success:function(data){} 
    }); 
}); 
</script>"; 

-

$post = array(
    'post_content' => $_POST['content'], 
    'post_title'  => "testing", 
    'post_status' => 'publish', 
    'post_type'  => 'post', 
    'post_category' => array(28) // Default empty. 
); 

Set .ajaxtype (метод) к 'POST', то вы можете прочитать переменные запроса POST в PHP из $_POST массива.

+0

Это работа. Я не знаю php, и я пытался сделать это со всем, что я нашел в Google. Еще раз спасибо. Я проверю ваш ответ как лучший за 7 минут из-за ограничения SE. – Tasos

+0

Круто, спасибо! Я рад, что это помогло. :) –

2

Во-первых, вы, вероятно, захотите использовать POST вместо GET. Просто добавьте тип: «POST» в параметры ajax или используйте функцию «post()».

На стороне сервера способ, которым нужно получить значение, - использовать глобальные переменные $ _GET (или $ _POST). Ваше содержание должно быть в $ _GET ['content'].

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