好的,这是我的以下javascript代码:
$( '#listings' ).load( 'ajax/listingFind.php', {
id: id,
name: name,
logo: encodeURIComponent(logo),
address: address,
city: city,
state: state,
zip: zip,
phone: phone,
email: email,
web_link: encodeURIComponent(web_link),
distance: distance
} );
所有id,name等都具有以前在javascript中分配的值。 但是,在listingFind.php中,如何获取传入的这些数据值? 我将文件加载到div中并回显整个url,似乎数据不会传递到url中。 每当我像这样手动输入它时:
$( '#listings' ).load( 'ajax/listingFind.php?id=' + id + '&name=' + name + '&logo=' + encodeURIComponent(logo) + '&address=' + address +
'&city=' + city + '&state=' + state + '&zip=' + zip + '&phone=' + phone + '&email=' + email + '&web_link=' + encodeURIComponent(web_link) +
'&distance=' + distance );
等等等......
它抛出一个错误说:
未捕获错误:语法错误,无法识别的表达式:示例 公司&安培;标志= HTTP%3A%2F%2Fstuff.blah.localhost%2Flisting%2Flogo%2glarb.png&安培;地址= 123 任何街道 N'安培;城市=北京市东城&安培;状态= OH&安培;拉链= 44123&安培;电话= 3305551234&安培; email=foo@example.com& web_link = HTTP%3A%2F%2Fexample.com%2F&安培;距离= 16.85833142631359
答案 0 :(得分:2)
您可以在$_POST
中找到数据。来自load
documentation:
请求方法
如果数据作为对象提供,则使用POST方法;否则,假设GET。
由于您将数据作为对象提供,因此jQuery正在使用POST
。
每当我手动输入它时......它会抛出错误
是。如果提供字符串,则需要提供有效的查询字符串,但您提供的字符串不是有效的查询字符串。一般来说,坚持使用对象表示法,但是如果您需要来构建类似的字符串,请使用encodeURIComponent
来确保正确编码值。
'ajax/listingFind.php?id=' + encodeURIComponennt(id)
从技术上讲,密钥和都必须编码:
'ajax/listingFind.php?' + encodeURIComponent('id') + '=' + encodeURIComponennt(id)
...但是如果您的密钥仅包含 字母a-z
(大写或小写),则编码形式与原始形式完全相同,因此您可以跳过它