Wywołania JQuery JSON do PHP WebService Zawsze uruchamia wywołanie zwrotne „Błąd”

Teraz mam ten ból głowy, ponieważ mam ten problem przez cały dzień i wciąż nie mogę tego naprawić. Sprawdzałem Google i StackOverflow przez wiele godzin, próbowałem wielu metod (w tym zmiany z JSON na JSONP, sprawdzania nagłówków w PHP, testów lokalnych hostów), zapytałem znajomych itp., A ja wciąż tkwię. Może to tylko szczegół, nie wiem.

Pracuję nad aplikacją mobilną na Androida, a do tego mam serwis PHP w hostingu (powiedzmy, example.com), który działa poprawnie, odkąd testowałem z klientem PHP WS JSON. Problem polega na tym, że nazywam to WS teraz z pliku JS na moim komputerze za pomocą jQuery, JSON i Ajax i otrzymuję następującą odpowiedź z konsoli debugera Google Chrome:

readyState: 4statusText: „OK”responseText: (czego potrzebuję, bez błędów)

Ale na odpowiedź z serweraZawsze otrzymuję wywołanie zwrotne błędu, nigdy sukces. Przeczytałem to, ponieważ serwer nie mógł poprawnie przeanalizować JSON, ale tak naprawdę nie wiem.

Zostawiam ci mój kod.

Z CLIENT.JS:

$.ajax({
    type: "POST",
    crossDomain: true,
    contentType: "application/json utf-8",
    dataType: "json",
    url: "http://www.example.com/ws/webservice.php/" + methodName,
    data: JSON.stringify(window.parameterArray),

    success: function (response)
        {
            alert('Success!');
            window.resultVar = "Success! " + response;
            console.log(response);
        },
    error: function (response)
        {
            alert('Error');
            window.resultVar = "Error: " + response;
            console.log(response);
        }
});

Od SERVER.PHP:

<?php
header('Access-Control-Allow-Origin: *');  //I have also tried the * wildcard and get the same response
header("Access-Control-Allow-Credentials: true");
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: Content-Type, Content-Range, Content-Disposition, Content-Description');
header('Content-type: application/json; charset=utf-8');

require_once "mobilefuncts.php";

$methodName = str_replace($_SERVER["SCRIPT_NAME"]."/", "", $_SERVER["REQUEST_URI"]);

if (isset($methodName))
{
   $param = (array)json_decode($HTTP_RAW_POST_DATA);

   $access = new MobileAccess();  //From mobilefuncts.php
   $result = call_user_func_array(array($access,$methodName), $param);   //Calls the method

   echo json_encode($result);
}
?>

Czy ktoś wie, co można zrobić? Może, jak powiedziałem wcześniej, problem jest tylko szczegółem. Naprawdę nie wiem, jestem trochę nowy w tego rodzaju sprawach.

Dzięki za forehand!

AKTUALIZACJA:

Właśnie zrozumiałem, że konsola Chrome mówi mi to:

GET http://localhost:81/.../cordova_plugins.json 404 (Not Found)

Czy to może być przyczyną problemu?

AKTUALIZACJA 2:

Spójrz tutaj, mam wskazówkę. Dodałem więcej parametrów do funkcji błędu i otrzymałem ten wynik:

(Zmiana błędu pochodzi zfunkcja (odpowiedź) dofunkcja (jqXHR, textStatus, errorThrown))

jqXHR.responseText: [an array with the info I'm asking]
errorThrown: "SyntaxError: Unexpected token"

questionAnswers(4)

yourAnswerToTheQuestion