V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
alay9999
V2EX  ›  问与答

关于JQ进行POST提交url数据的神奇问题

  •  
  •   alay9999 · 2013-07-25 00:18:13 +08:00 · 6060 次点击
    这是一个创建于 4138 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先说明这方面我是小白

    代码过于简单,我只写关键的了



    出现问题:我提交数字,字母,都没问题,但是当我提交的数据是一个网址,比如http://123.com/pop/index.html则回调函数没反应。

    我把这个网址直接写死到JS里,即:

    img_url1:"http://123.com/pop/index.html"

    一切正常。

    好吧,我们再回到开始,我在var imgurl1=$("#img_url1").val();下面添加一句

    aliert(imgurl1);

    一切正常。

    我使用了各种转码……结果依旧……

    求助~~
    第 1 条附言  ·  2013-07-25 10:40:54 +08:00
    好吧,问题已解决,无关JQ,无关PHP

    事先声明我真的是小白,大神别笑话。然后我把问题描述一下,再告诉你们原因。

    ###问题描述###

    1.程序预期用JQ POST两个网址数据,然后PHP接收再返回来。基本是最简单的Ajax行为。

    2.问题表现:两个数据只要有一个不为网址即可成功运行。但是两个数据同为网址,当前页面(提交页面)的网址带上参数并刷新(get当前页面)

    3.反复排查JQ无果(PHP没得可排查了)

    ###事出有因###

    1.我对表单进行了数据验证,非网址数据不合格。用DW的验证

    2.提交用的是响应按钮Click事件,与上边的验证未作关联。即无论数据是否合格,均不影响提交。

    3.但是我蛋疼的将按钮类型设置成了submit……

    4.于是乎,数据不合格,submit无法提交,响应Click事件;数据合格……submit提交,出现上述状况……

    ===================

    热心回答的朋友均以感谢,谢谢大家~

    大家可以笑话我……掩面……
    11 条回复    1970-01-01 08:00:00 +08:00
    alay9999
        1
    alay9999  
    OP
       2013-07-25 00:32:32 +08:00
    额,实际上更加神奇一些
    事实上我提交的是两个值,两个都是网址。
    我以为可以简化问题,所以写成了上边一个值的例子。
    可事实上是,我单独提交一个网址,另一个非网址可以成功
    但是两个都是网址的时候才失败
    好拗口的问题
    itommy
        2
    itommy  
       2013-07-25 00:50:44 +08:00   ❤️ 1
    建议写个完整的 ajax request

    $.ajax({
    type: "POST",
    url: url,
    data: data,
    success: success,
    dataType: dataType
    });
    awebird
        3
    awebird  
       2013-07-25 01:02:27 +08:00   ❤️ 1
    post的变量名img_url1 和 #img_url1 冲突,js变量名不要和html元素id相同,感觉是这个问题..
    bitsmix
        4
    bitsmix  
       2013-07-25 01:26:57 +08:00   ❤️ 1
    {
    "img_url1":imgurl1
    },
    alay9999
        5
    alay9999  
    OP
       2013-07-25 09:14:32 +08:00
    @awebird
    @bitsmix
    @itommy

    我实验了还是不行,一个网址,另一个非网址可提交,连个都是网址就没反应了,而且俄两个都是网址的时候好像页面刷新了一下
    BOYPT
        6
    BOYPT  
       2013-07-25 09:18:16 +08:00   ❤️ 1
    用的是Chrome吧,按F12打开调试器,看网络/终端下面的,操作的时候有什么自己看吧。
    alay9999
        7
    alay9999  
    OP
       2013-07-25 09:26:49 +08:00
    @awebird
    @bitsmix
    @itommy

    额,发现好像只要一起提交两个网址,就变成get了,网址上带了参数,页面被刷新……
    alay9999
        8
    alay9999  
    OP
       2013-07-25 09:33:22 +08:00
    @BOYPT 提交一个网址,post 没问题。提交两个网址直接在发出请求页网址后面加参数,结果页面被刷新,均无报错
    alay9999
        9
    alay9999  
    OP
       2013-07-25 10:15:43 +08:00
    好吧,问题已解决,无关JQ,无关PHP

    事先声明我真的是小白,大神别笑话。然后我把问题描述一下,再告诉你们原因。

    ###问题描述###

    1.程序预期用JQ POST两个网址数据,然后PHP接收再返回来。基本是最简单的Ajax行为。

    2.问题表现:两个数据只要有一个不为网址即可成功运行。但是两个数据同为网址,当前页面(提交页面)的网址带上参数并刷新(get当前页面)

    3.反复排查JQ无果(PHP没得可排查了)

    ###事出有因###

    1.我对表单进行了数据验证,非网址数据不合格。用DW的验证

    2.提交用的是响应按钮Click事件,与上边的验证未作关联。即无论数据是否合格,均不影响提交。

    3.但是我蛋疼的将按钮类型设置成了submit……

    4.于是乎,数据不合格,submit无法提交,响应Click事件;数据合格……submit提交,出现上述状况……

    ===================

    热心回答的朋友均以感谢,谢谢大家~

    大家可以笑话我……掩面……
    justfindu
        10
    justfindu  
       2013-07-25 10:31:44 +08:00
    jquery的post提交的链接请不要带各种参数, 包括上面的链接
    bitsmix
        11
    bitsmix  
       2013-07-25 10:55:58 +08:00
    event.preventDefault()
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5275 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:45 · PVG 16:45 · LAX 00:45 · JFK 03:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.