Я начинаю, поэтому у меня не так много опыта. Задача состоит в том, чтобы перевести блоки текста, которые пользователь пишет. Так HTML-файл:Uncaught SyntaxError: Недействительный или неожиданный токен. Google API Translate
<script type="text/javascript">
$('#some_id').on('click', function(){
var text_var = JSON.stringify("{$text_without_adv}");
var own_script = 'gTApi.php';
$.ajax({
method: 'post',
url: own_script,
data: $.parseJSON(text_var)
}).done(function(data) {
console.log(data);
});
});
</script>
PHP-файл "gTApi.php" (где происходит волшебство):
<?php
require_once "../../vendor/autoload.php";
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
$text = file_get_contents('php://input');
$apKey = '**************************';
$client = new Client(
array(
'headers' => array(
'Accept' => 'application/json'
)
)
);
try {
$response =$client->get('https://translation.googleapis.com/language/translate/v2?key='
. $apKey
. '&source=en&target=es&q=' . $text);
} catch (\Exception $e) {
echo $e->getMessage();
}
$response_body = json_decode($response->getBody(), true);
echo $response_body['data']['translations'][0]['translatedText'];
другой PHP-файл:
$smarty->assign('text_without_adv', htmlspecialchars((implode(' ', $text_array))));
после страницы load Я получаю неожиданный токен после первого предложения в переменной $ text_without_adv и не может выполнить перевод, ничего не происходит, когда я нажимаю кнопку.
. Например:
var text_var = JSON.stringify
(» Но она была возлюбленная, и он сказал, что пойдет и получить мяч /// лексема /// Так что он пошел в парк ворота, но он закрылся, поэтому он взобрался на изгородь, и, когда он добрался до верхушки изгороди, старуха поднялась из дамбы перед ним и сказала: если он хочет получить мяч, он должен спать три ночи в доме. Он сказал, что будет. ");
Но главный вопрос заключается в том, что в других опубликованных текстах от других пользователей ошибок нет. Я не понимаю, 3 разных текста у 3-х разных пользователей имеют неожиданный токен, а затем следующие 2 не имеют ошибки, затем следующий имеет ошибку и так далее. Где может быть проблема?
если вы хотите JSON, а затем сделать свой код PHP отправить JSON - в настоящее время вы используете 'json_decode' ... гарантированно не JSON –
это ваш PHP переменная' $ text_without_adv'? – Beginner
@Beginner '$ text_without_adv' да, он назначается в файле php –