加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

当尝试通过AJAX提交时,jquery – [object Object](404未找到)

发布时间:2020-12-16 03:07:03 所属栏目:百科 来源:网络整理
导读:我试图通过ajax将变量传递给运行MySQL查询的PHP脚本.但是,我继续收到错误404未找到:“http:// myurl / database / [object Object]”. 看起来它正在尝试将数据发送到http://myurl/database/%5Bobject%20Object%5D而不是我定义的PHP脚本.真的在这个损失…我
我试图通过ajax将变量传递给运行MySQL查询的PHP脚本.但是,我继续收到错误404未找到:“http:// myurl / database / [object Object]”.

看起来它正在尝试将数据发送到http://myurl/database/%5Bobject%20Object%5D而不是我定义的PHP脚本.真的在这个损失…我以为把绝对URL放在工作.

以下是我的代码将永远感激任何帮助….

<script type="text/javascript">
function insertData()
 {
    var dataid= $('#dataid').attr('value');
    var industry = $('#industry').attr('value');
   var geolocation = $('#geolocation').attr('value');
    $.post({
        type: "POST",url: "http://myURL/database/InsertData.php",data: "dataid="+ dataid+"&amp;industry="+ industry +"&amp;geolocation="+ geolocation,});
return false;
};

</script>
As andi表示,$.post希望URL字符串作为第一个参数;如果要传递选项对象,则必须使用 $.ajax.

当您尝试调用$.post(< option object>)时,该选项对象用作URL;在这个过程中,它被转换为一个字符串(并且转换为一个字符串的对象在Javascript中变为[object< type>];在这种情况下,[object Object]),它被U??RL编码([object Object]),并且由于它不以/或协议名称开头,它被解释为相对URL,并以当前协议,域和路径为前缀.然后,由于没有更多参数,所以将空的POST AJAX请求发送到该URL.

另一个问题是你使用& amp; amp; amp;分离参数;这应该只在HTML中完成,在这里你应该使用& amp; (或者一个数据对象,就像Evan所说的那样,你不需要考虑编码问题).而.val()和.attr(‘value’)不一样;第一个是字段的当前值,第二个是页面加载时的任何值.

这是正确的最简单的方法是:

function insertData() {
    var data = $('#dataid,#industry,#geolocation').serialize();
    $.post('http://myURL/database/InsertData.php',data);
    return false;
}

这假设三个字段具有与$.serialize相同的名称和id,使用参数名称的名称.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读