我使用php
发布来自create。$.ajax
的表单数据,如下所示。
$(document).ready(function () {
var request;
$("#create-pto").submit(function(e) {
// Abort any pending request
if (request) {
request.abort();
}
var $form = $(this);
var serializedData = $form.serialize();
request = $.ajax({
url: 'index.php',
type: 'POST',
contentType : 'application/json',
data: serializedData
}).done(function (response, textStatus, jqXHR) {
// Log a message to the console
console.log("Hooray, it worked!");
});
e.preventDefault();
});
});
我可以看到发布的数据,我可以记录发布成功。
但是在index.php中无法检索发布的数据。
这就是我在index.php中尝试的方法
var_dump($_POST);
表格:
<form class="form-horizontal" id="create-pto" >
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control- label">App ID</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="app-id" id="app-id" placeholder="App ID">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">App Name</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="app-name" id="app-name"
placeholder="App Name">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Instance Name</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="inputPassword3" name="ins-name"
placeholder="Instance Name">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="create" class="btn btn-success">Create PTO</button>
</div>
</div>
</form>
请帮助。
答案 0 :(得分:1)
尝试更改JavaScript代码的contentType:
contentType : 'application/x-www-form-urlencoded',
如果你想将contentType保持为json
,请在你的PHP文件上尝试这种方式:
echo file_get_contents('php://input');
答案 1 :(得分:1)
如果您使用.serialize()
,则需要将contentType
更改为'application / x-www-form-urlencoded'。
如果你想保留contentType: 'application/json'
,你必须使用JSON.stringify。
另请注意,POST请求中的JSON字符串是使用file_get_contents('php://input');
而非$_POST
答案 2 :(得分:0)
更改您的
contentType:'application / json'
到
dataType:“JSON”
它将开始工作..我在我的系统上测试了代码。
答案 3 :(得分:0)
尝试type:GET
代替type:POST
,也可以在index.php