答案 0 :(得分:1)
如果你看here(为什么你在网址末尾使用'?'),你会看到
[]<option value="">Choose an option..</option><option value="md_assignment">Assignment</option><option value="md_camera">Camera</option><option value="md_film">Film</option><option value="md_film_condition">Film_condition</option><option value="md_filmformat">Filmformat</option><option value="md_filmtype">Filmtype</option><option value="md_framemaker">Framemaker</option><option value="md_lab">Lab</option><option value="md_lens">Lens</option><option value="md_owner">Owner</option><option value="md_paper">Paper</option><option value="md_scanner">Scanner</option>
第一个[]
个字符凸显问题。
此外,我不明白为什么你需要PHP会话ID来让页面和所有HTTP GET URL工作。
更新:我自己不使用PHP,因此我不会建议您在服务器响应开始时[]
为什么,但它是空的{{1}数组。相应的响应包含HTML标头中的JSON
和代码
Content-Type: application/json
尝试自动将数据解释为JSON数据。您收到错误,“成功”功能将无法正常工作。如果您使用$.get(getSelectFilterUrl, function(data) {
var res = $(data).html();
$('select#column').html(res);
});
$.get
和$.ajax
事件处理程序替换success
,则可以对此进行验证。 jqGrid使用error
事件处理程序而不是complete
和success
。在error
句柄中,不会进行任何数据转换。这就是为什么你对第一个选择没有问题。
complete
与$.ajax
事件处理程序的使用可能是一种解决方法,但我严格建议您检查服务器代码,删除complete
以获取相应的服务器响应并修复Content-Type: application/json
个字符的问题。