<code>$('#saveNewData').click(function () { //保存数据的按钮被点击的时候,获得当前数据 var type = $('select[name="type"] option:selected').val(); var title = $('input[name="title"]').val(); var imgSrc = $('input[name="imgSrc"]').val(); var author = $('input[name="author"]').val(); var createdAt = $('input[name="createdAt"]').val(); var content = $('textarea[name="content"]').val(); //封装数据 var data = { type:type, title:title, imgSrc:imgSrc, author:author, createdAt:createdAt, content:content }; //ajax提交数据 $.ajax({ type: "POST", url:'insert.php', data:data, datatype:'json', error: function(request) { alert("保存失败"); }, success: function(msg) { alert("保存成功"); alert(data); } }); })</code>
確定能夠獲得到表單元素的數據,html的網址列提交的時候能顯示所有提交數據
在insert.php中
<code>$type = $_POST['type']; $title = $_POST['title']; $imgSrc = $_POST['imgSrc']; $author = $_POST['author']; $createdAt = $_POST['createdAt']; $content = $_POST['content'];</code>
無法取得傳過來的數據,提示
Notice: Undefined index: type in D:xampphtdocs8-1baiduNewsinsert.php on line 3
Notice: Undefined index: title in D:xampphtdocs8-1baiduNewsinsert.php on line 4
Notice: Undefined index: imgSrc in D:xampphtdocs8-1baiduNewsinsert.php on line 5
Notice: Undefined index: author in D:xampphtdocs8-1baiduNewsinsert.php on line 6
Notice: Undefined index: createdAt in D:xampphtdocs8-1baiduNewsinsert.php on line 7
Notice: Undefined index: content in D:xampphtdocs8-1baiduNewsinsert.php on line 8
第一次用php,以前寫js和node資料互動的時候用的那樣的資料傳遞形式,但是php不能取得,哪位大神給我看看程式碼,萬分感激
<code>$('#saveNewData').click(function () { //保存数据的按钮被点击的时候,获得当前数据 var type = $('select[name="type"] option:selected').val(); var title = $('input[name="title"]').val(); var imgSrc = $('input[name="imgSrc"]').val(); var author = $('input[name="author"]').val(); var createdAt = $('input[name="createdAt"]').val(); var content = $('textarea[name="content"]').val(); //封装数据 var data = { type:type, title:title, imgSrc:imgSrc, author:author, createdAt:createdAt, content:content }; //ajax提交数据 $.ajax({ type: "POST", url:'insert.php', data:data, datatype:'json', error: function(request) { alert("保存失败"); }, success: function(msg) { alert("保存成功"); alert(data); } }); })</code>
確定能夠獲得到表單元素的數據,html的網址列提交的時候能顯示所有提交數據
在insert.php中
<code>$type = $_POST['type']; $title = $_POST['title']; $imgSrc = $_POST['imgSrc']; $author = $_POST['author']; $createdAt = $_POST['createdAt']; $content = $_POST['content'];</code>
無法取得傳過來的數據,提示
Notice: Undefined index: type in D:xampphtdocs8-1baiduNewsinsert.php on line 3
Notice: Undefined index: title in D:xampphtdocs8-1baiduNewsinsert.php on line 4
Notice: Undefined index: imgSrc in D:xampphtdocs8-1baiduNewsinsert.php on line 5
Notice: Undefined index: author in D:xampphtdocs8-1baiduNewsinsert.php on line 6
Notice: Undefined index: createdAt in D:xampphtdocs8-1baiduNewsinsert.php on line 7
Notice: Undefined index: content in D:xampphtdocs8-1baiduNewsinsert.php on line 8
第一次用php,以前寫js和node資料互動的時候用的那樣的資料傳遞形式,但是php不能取得,哪位大神給我看看程式碼,萬分感激
因為你向後台發送的是一個物件data,所以我猜你可以從後台獲得$_POST['data']。
我簡單實驗一下,
你的
<code> //封装数据 var data = { type:type, title:title, imgSrc:imgSrc, author:author, createdAt:createdAt, content:content };</code>
這段寫的問題吧,不加帶引號? type:type 前面的type是字串後面的type是變量,你感受一下....
我的程式碼:
1.html
<code><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> </title> <script src="http://lib.sinaapp.com/js/jquery/3.1.0/jquery-3.1.0.min.js"></script> </head> <body> <input id='qq' type="text" name='qq123' value='xiaole' > <input id='qq123' type="submit"> <script> $('#qq123').click(function () { var data = $('#qq').val(); // console.log(data); var data={'data':data}; $.ajax({ type: "POST", url:'2.php', data:data, datatype:'json', error: function(request) { alert("保存失败"); }, success: function(msg) { console.log(msg); } }); }); </script> </body> </html></code>
2.php
<code> <?php $a = $_POST; print_r($a); echo json_encode($a); ?></code>
就是你傳遞的資料出現錯誤了 data應該寫成json的格式。樓上已經說得很清楚了。
因為你封裝的是JS物件而不是json,正規的json, 鍵都是帶引號的,可以使用 JSON.stringify把物件轉成字串後再提交,建議你還是去看看json的規範。