это очень странная ситуация.Я перебираю некоторые элементы div для сбора информации для отправки в мой внутренний PHP, но одно из значений никогда не переходит в конец.
Вот мой внешний код:
$(".allDivs").each(function(){
var symbol;
var currentId = $(this).attr("id");
var currentId = currentId.replace("div", "");
var originalSymbol = $.trim($("#symbol" + currentId).val());
var offerPrice = $.trim($("#offerPrice" + currentId).val());
if (originalSymbol.length == 5)
{
symbol = originalSymbol.slice(0,-1);
}
else
{
symbol = originalSymbol;
}
symbolArray.push({
"symbol": symbol,
"originalSymbol" : originalSymbol,
"offerPrice" : offerPrice,
"checkNews" : "TEST",
"idNumber": currentId,
});
});
Если я отлаживаю объект прямо перед вызовом AJAX, он выглядит следующим образом:
console.log(JSON.stringify(symbolArray));
Производит:
[{"symbol":"MSFT","originalSymbol":"MSFT","offerPrice":"","checkNews":"TEST","idNumber":"1"}]
Итак, вы можете видеть, что значение для checkNewsэто «ТЕСТ»
Вот как выглядит AJAX:
$.ajax({
url: "newsproxy.php",
data: {symbols: JSON.stringify(symbolArray)},
async: true,
dataType: 'json',
success: function (data) {
// etc...
Если я попытаюсь распечатать некоторую информацию на бэкэнде, вот как это выглядит:
if(isset($_GET['symbols']))
{
$symbols=$_GET['symbols'];
}
foreach ($symbols as $symbol)
{
$symbol = $symbol->symbol;
$checkNews = $symbol->checkNews;
echo "symbol is *" . $symbol . "*" . " and checkNews is *" . $checkNews . "*";
}
Это приводит к следующему:
symbol is *MSFT* and checkNews is **
Почему моя символьная переменная попадает в конец, но переменная checkNews отменяется?