Я ищу способ поместить переменные в вызов get AJAX, теперь я знаю, что очевидным способом сделать это было бы просто добавить его слишком «данные», как, например,
$.ajax({
type: "get",
url: "api.php",
data: {sessionkey: sessionkey, request: 'createapplication', favourid: favourid, userid: userid, message:message },
success: function(data) {
console.log(data);
}
});
Ноэто относится к API, и API также обрабатывает запрос из приложения iOS, которое помещает данные в httpBody следующим образом:
let json: [String: Any] = ["userid":userID, "message":applicationtext.text, "favourid":selectedFavour]
let jsondatatosend = try? JSONSerialization.data(withJSONObject: json)
// create post request
let url = "myurl";
var request = URLRequest(url: url)
request.httpMethod = "POST"
// insert json data to the request
request.httpBody = jsondatatosend
Я считаю, что причина, по которой я сделал это изначально, была в том, что он испортил из-за странных символовв URL, поэтому я должен был отправить его через тело, которое все работало хорошо, но теперь я пытаюсь заставить веб-сайт следовать тому же методу на моем API, я хотел бы, чтобы он был отправлен в теле от ajax, чтобы мой php мог сделатьэта функция
$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON, TRUE);
Я понимаю, что есть много способов обойти это в моем php, просто используйте $ _GET ['var'] вместо file_get_contents, когда оно отправлено из AJAX моего сайта, но яМне было интересно, если есть способ отправить его в тело через AJAX, поэтому мне не нужно менять файл PHP, а затем он не отправляется через URL
, так что я хочу иметь возможностьо, что-то вроде этого
$.ajax({
type: "get",
url: "api.php",
data: {sessionkey: sessionkey, request: 'createapplication'},
httpBody: {favourid: favourid, userid: userid, message:message },
success: function(data) {
console.log(data);
}
});