Я делаю мобильное приложение с использованием Intel XDK для устройств Android, я использовал эмулятор и локальный сервер разработки (127.0.0.1) для тестирования моего PHP-кода. Я связался с моим сервером, используя следующие способы: $.ajax()
, $.post()
и $.get()
. Затем я решил, что подошел к подходящей точке, где должен был создать APK-файл приложения, направить исходный код PHP на онлайн-сайт и протестировать его через соответствующий мобильный. Таким образом, я сделал, я сделал базу данных, экспортируя мои текущие данные из PMA, а затем изменил все URL-адреса во всех моих запросах, указав нужное место и протолкнул свой PHP-источник на FTP. Затем я протестировал свое приложение и был шокирован результатами.jQuery запросы на мобильное приложение не работают
Ошибка № 1:
PHP Fatal error: Can't use function return value in write context in /home/scrifalr/public_html/sm/api/v1/modules/register/register.php on line 9
Что я сделал, чтобы исправить:
Я проверил источник и, по-видимому, после изменения этого !empty(trim($_POST['username']))
к empty($_POST['username'])
, казалось, исправить эту ошибку.
So вопрос один. Почему эта ошибка не появилась на моем локальном сервере и не сказал мне тогда, что я не могу этого сделать?
Ошибка № 2:
У меня есть логин/регистрация, которая отправляет запросы, которые все работы, я изменил выше PHP и они начали работать. Однако у меня есть страница выхода из системы, которая, кажется, не работает, код показан ниже:
logout.html
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="css/styles.css">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="intelxdk.js"></script>
<script src="cordova.js"></script>
<script src="xhr.js"></script>
<script src="js/libs/app.js"></script>
<script src="js/libs/functions.js"></script>
<script src="js/logout.js"></script>
<title>Logout</title>
</head>
<body>
</body>
</html>
Как вы можете видеть, это не имеет никакого отношения к тому же включает в себя. Следующий файл является файл JavaScript:
logout.js
window.onload = function() {
getSessionData();
$.post(
"http://sm.script47.net/api/v1/modules/logout/logout.php", {
"userID": window.userID
}, function (data) {
alert(data);
if (data == 1) {
document.location.href = "index.html";
} else {
showTimedMessage(data, "error", 4000);
}
}
);
};
Как вы можете видеть, она содержит запрос на почту и функцию под названием getSessionData()
, поэтому после того, что казалось, как возраст пытается отладить I пришел к выводу, что это ошибка getSessionData()
, которая снова кажется странной, поскольку она работала в эмуляторе, и все пути к запрошенным файлам верны. Только для тех, кто хотел бы видеть эту функцию:
window.token = null;
window.userID = null;
window.username = null;
window.emailAddress = null;
window.IP = null;
function getSessionData() {
$.ajax({
url: 'http://sm.script47.net/api/v1/modules/sessionData/sessionData.php',
"type": "GET",
dataType: "json",
async: false // This comment is not in the code, I know I shouldn't have this I'm using it for now and it works with it like this.
}).done(function (data) {
window.token = data.token;
window.userID = data.userID;
window.username = data.username;
window.emailAddress = data.emailAddress;
});
}
Так вопрос два в том, что, как приходят даже после того, как я проверил это тщательно и обеспечить, чтобы все пути правильны и загружен точно такой же код, почему отправляются некоторые запросы, например Войдите, зарегистрируйтесь, пока другие (logout) не работают?
потому что вы не понимаете базовых понятий каждого языка программы. если вы хотите поправиться, это слова, которые вам нужно услышать. Я бы никогда не узнал много кода вообще, если бы я не был исключен из stackoverflow. – r3wt
отредактирован, чтобы объяснить, почему был опубликован такой «грубый» ответ. я дам вам подсказку. вам нужно специально посмотреть на jQuery '$ .ajax' api.вы можете установить функцию обратного вызова для ошибок и определить, что такое ошибка, если она исходит из php. если не из php, вы можете посмотреть в консоли, если она исходит из javascript. – r3wt
@ r3wt согласился, я не так опытен в кодировке переднего конца, поскольку я вернулся, но я пробовал? Я только повернулся к StackOverFlow после того, как понял, что потушил все другие возможности. Код работал нормально, что, безусловно, означает, что я понял некоторые понятия. Однако он перешел от перехода от эмулятора к мобильному. Вот почему я обратился к StackOverFlow, чтобы помочь понять, почему он сломался, и это поможет мне в будущих ссылках. Так что нет, я не согласен с вашим заявлением, может быть, я узнаю больше, если люди научат меня, где я ошибся, нет? – Script47