我正在寻找一种将变量放入AJAX get调用的方法,现在我知道显而易见的方法就是像这样将其添加为“数据”
$.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中解决它,但是当它从我网站的AJAX发送时,只使用$ _GET ['var']而不是file_get_contents,但我想知道是否有一种方法通过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);
}
});