js中ajax提交到php的json資料,php無法獲得

來源:互聯網
上載者:User
$('#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的規範。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.