$('#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); } }); })
確定能夠獲得到表單元素的資料,html的地址欄提交的時候能顯示所有提交資料
在insert.php中
$type = $_POST['type'];$title = $_POST['title'];$imgSrc = $_POST['imgSrc'];$author = $_POST['author'];$createdAt = $_POST['createdAt'];$content = $_POST['content'];
無法獲得傳過來的資料,提示
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不能獲得,哪位大神給我看看代碼,萬分感激
回複內容:
$('#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); } }); })
確定能夠獲得到表單元素的資料,html的地址欄提交的時候能顯示所有提交資料
在insert.php中
$type = $_POST['type'];$title = $_POST['title'];$imgSrc = $_POST['imgSrc'];$author = $_POST['author'];$createdAt = $_POST['createdAt'];$content = $_POST['content'];
無法獲得傳過來的資料,提示
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']。
我簡單實驗一下,
你的
//封裝資料 var data = { type:type, title:title, imgSrc:imgSrc, author:author, createdAt:createdAt, content:content };
這段寫的問題吧,不加帶引號?type:type 前面的type是字串後面的type是變數,你感受下....
My Code:
1.html
2.php
就是你傳遞的資料出現錯誤了 data應該寫成json的格式。樓上已經說得很清楚了。
因為你封裝的是JS對象而不是json,正規的json, 鍵都是都是帶引號的,可以使用 JSON.stringify把對象轉成字串後再提交,建議你還是去看看json的規範。