Я не уверен, как это объяснить, поэтому я сделаю все возможное.У меня есть функция на странице JavaScript, которая выглядит следующим образом:
function updateDiceTracker(){
// var htmldata = $results.html();
var htmldata = "2" + "\+" + "3";
$.ajax({ url: 'actions.php',
data: '&task=track.dice.roll&htmldata='+htmldata,
type: 'post',
success: function(output) {
alert(output);
},
error: function(xhr, e){ message(e, "e"); }
});
}
Как вы можете видеть, это довольно стандартно.В этом нет ничего плохого.Цель этой функции - получить .html (), хранящийся в $ results (который является div, где ID = results).
Обратите внимание на закомментированную часть.Когда я передаю эти данные в actions.php, я получаю весь HTML из этого div, за исключением символов «+».Видимо, на этой странице вы можете увидеть знаки «+».Я могу отправить эти данные в текстовое поле и увидеть знаки «+».Я могу отправить его в другой div и увидеть знаки "+" - но когда я отправляю его в actions.php ... знаков "+" нет.
Обратите внимание на линию прямо под ней.Я попытался вручную изменить переменную htmldata на различные варианты 2 + 3 (для простоты).Такие как «2» + «+» + «3» и «2 + 3» и «2 + 3» и т. Д. -
Каждый раз в функции успеха ,вывод всегда: " 2 3 " ( без знака плюс )
Я вижу "2-3", "2 * 3" и т. д., но незнак плюс.Я немного озадачен, потому что чувствую, что это либо что-то настолько простое, что я пропускаю это, либо я схожу с ума
Реальная версия html из div результатов будет выглядеть примерно так (включаяформатирование - но, как вы видите, мне нужны эти плюсы).Это то, что кажется пользователю ПЕРЕД вызовом updateDiceTracker ()
"Pixii Stix attempts to attack the enemy with Dagger: (1d20+5)
Dice Roll: [Hit]: 13 (+5) = 18"
Также, для простоты, я вынул ВСЕ код на странице actions.php.Буквально, это то, на что это похоже сейчас:
<?php
$task = isset($_POST['task']) ? $_POST['task'] : "";
if ($task){
switch($task){
case "track.dice.roll":
$htmldata = isset($_POST['htmldata']) ? $_POST['htmldata'] : "";
echo $htmldata;
break;
}
}
?>